import java.util.*;

public class Main {
    private static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) throws Exception {
        while (true) {
            int h = sc.nextInt();
            int w = sc.nextInt();
            if (h == 0 && w == 0) break;
            solve(h, w);
            System.out.println("");
        }
    }
    
    private static void solve(int h, int w) {
        for (int i = 0;i < h;i++) {
            System.out.println(line(i, h, w));
        }
    }
    
    private static String line(int idx, int h, int w) {
        StringBuilder sb = new StringBuilder();
        if (idx == 0 || idx == h-1) {
            for (int i = 0;i < w;i++) sb.append("#");
        } else {
            sb.append("#");
            for (int i = 0;i < w-2;i++) sb.append(".");
            sb.append("#");
        }
        return sb.toString();
    }
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz