import java.io.*;

class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		while (true) {
			String[] cut = br.readLine().split(" ");
			int H = Integer.parseInt(cut[0]);
			int W = Integer.parseInt(cut[1]);
			if (H == 0 && W == 0){
				break;
			}
			for (int i = 0; i < W; i++) {
				sb.append("#");

			}
			sb.append("\n");
			for (int k = 0; k < H-2; k++) {
				sb.append("#");
				for (int j = 0; j < W - 2; j++) {
					sb.append(".");
				}
				sb.append("#");
				sb.append("\n");
			}
			for (int i = 0; i < W; i++) {
				sb.append("#");
			}
			sb.append("\n");
			sb.append("\n");
		}
		System.out.print(sb);

	}

}
/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