import java.io.IOException;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in); // ??\???????????????
		StringBuilder out = new StringBuilder(); // ??¨?????¨??¢??°
		StringBuilder output = new StringBuilder(); // #,\n???????´?????????¢??°

		while (true) { // ???????????????
			int H = sc.nextInt(); // ????????\??????
			int W = sc.nextInt(); // ?¨??????\??????

			if (H + W == 0) // ?????¨?¨????0 0????????????
				break;

			for (int i = 0; i < H; i++) {// ????????°???????????????
				for (int j = 0; j < W; j++) {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				}
				out = out.append("\n");
			}
			output = output.append(out + "\n"); // ????´???????#,\n???????´?
			out.delete(0, out.length()); // ??¨?????¨out????????????
		}
		System.out.print(output); // ??????
		sc.close();
	}

} import java.io.IOException; IOException java.io import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in); // ??\???????????????
		StringBuilder out = new StringBuilder(); // ??¨?????¨??¢??°
		StringBuilder output = new StringBuilder(); // #,\n???????´?????????¢??°

		while (true) { // ???????????????
			int H = sc.nextInt(); // ????????\??????
			int W = sc.nextInt(); // ?¨??????\??????

			if (H + W == 0) // ?????¨?¨????0 0????????????
				break;

			for (int i = 0; i < H; i++) {// ????????°???????????????
				for (int j = 0; j < W; j++) {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				}
				out = out.append("\n");
			}
			output = output.append(out + "\n"); // ????´???????#,\n???????´?
			out.delete(0, out.length()); // ??¨?????¨out????????????
		}
		System.out.print(output); // ??????
		sc.close();
	}

} Main public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in); // ??\???????????????
		StringBuilder out = new StringBuilder(); // ??¨?????¨??¢??°
		StringBuilder output = new StringBuilder(); // #,\n???????´?????????¢??°

		while (true) { // ???????????????
			int H = sc.nextInt(); // ????????\??????
			int W = sc.nextInt(); // ?¨??????\??????

			if (H + W == 0) // ?????¨?¨????0 0????????????
				break;

			for (int i = 0; i < H; i++) {// ????????°???????????????
				for (int j = 0; j < W; j++) {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				}
				out = out.append("\n");
			}
			output = output.append(out + "\n"); // ????´???????#,\n???????´?
			out.delete(0, out.length()); // ??¨?????¨out????????????
		}
		System.out.print(output); // ??????
		sc.close();
	} main {
		Scanner sc = new Scanner(System.in); // ??\???????????????
		StringBuilder out = new StringBuilder(); // ??¨?????¨??¢??°
		StringBuilder output = new StringBuilder(); // #,\n???????´?????????¢??°

		while (true) { // ???????????????
			int H = sc.nextInt(); // ????????\??????
			int W = sc.nextInt(); // ?¨??????\??????

			if (H + W == 0) // ?????¨?¨????0 0????????????
				break;

			for (int i = 0; i < H; i++) {// ????????°???????????????
				for (int j = 0; j < W; j++) {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				}
				out = out.append("\n");
			}
			output = output.append(out + "\n"); // ????´???????#,\n???????´?
			out.delete(0, out.length()); // ??¨?????¨out????????????
		}
		System.out.print(output); // ??????
		sc.close();
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) StringBuilder out = new StringBuilder(); out new StringBuilder() StringBuilder output = new StringBuilder(); output new StringBuilder() while (true) { // ???????????????
			int H = sc.nextInt(); // ????????\??????
			int W = sc.nextInt(); // ?¨??????\??????

			if (H + W == 0) // ?????¨?¨????0 0????????????
				break;

			for (int i = 0; i < H; i++) {// ????????°???????????????
				for (int j = 0; j < W; j++) {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				}
				out = out.append("\n");
			}
			output = output.append(out + "\n"); // ????´???????#,\n???????´?
			out.delete(0, out.length()); // ??¨?????¨out????????????
		} true { // ???????????????
			int H = sc.nextInt(); // ????????\??????
			int W = sc.nextInt(); // ?¨??????\??????

			if (H + W == 0) // ?????¨?¨????0 0????????????
				break;

			for (int i = 0; i < H; i++) {// ????????°???????????????
				for (int j = 0; j < W; j++) {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				}
				out = out.append("\n");
			}
			output = output.append(out + "\n"); // ????´???????#,\n???????´?
			out.delete(0, out.length()); // ??¨?????¨out????????????
		} int H = sc.nextInt(); H sc.nextInt() sc.nextInt sc int W = sc.nextInt(); W sc.nextInt() sc.nextInt sc if (H + W == 0) // ?????¨?¨????0 0????????????
				break; H + W == 0 H + W H W 0 break; for (int i = 0; i < H; i++) {// ????????°???????????????
				for (int j = 0; j < W; j++) {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				}
				out = out.append("\n");
			} int i = 0; int i = 0; i 0 i < H i H i++ i++ i {// ????????°???????????????
				for (int j = 0; j < W; j++) {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				}
				out = out.append("\n");
			} {// ????????°???????????????
				for (int j = 0; j < W; j++) {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				}
				out = out.append("\n");
			} for (int j = 0; j < W; j++) {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				} int j = 0; int j = 0; j 0 j < W j W j++ j++ j {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				} {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				} if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					} (i == 0 || i == H - 1) || (j == 0 || j == W - 1) (i == 0 || i == H - 1) i == 0 i 0 i == H - 1 i H - 1 H 1 (j == 0 || j == W - 1) j == 0 j 0 j == W - 1 j W - 1 W 1 { // ????????§?±??????????????????????
						out = out.append("#");
					} out = out.append("#") out out.append("#") out.append out "#" {
						out = out.append(".");
					} out = out.append(".") out out.append(".") out.append out "." out = out.append("\n") out out.append("\n") out.append out "\n" output = output.append(out + "\n") output output.append(out + "\n") output.append output out + "\n" out "\n" out.delete(0, out.length()) out.delete out 0 out.length() out.length out System.out.print(output) System.out.print System.out System System.out output sc.close() sc.close sc String[] args args public class Main {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in); // ??\???????????????
		StringBuilder out = new StringBuilder(); // ??¨?????¨??¢??°
		StringBuilder output = new StringBuilder(); // #,\n???????´?????????¢??°

		while (true) { // ???????????????
			int H = sc.nextInt(); // ????????\??????
			int W = sc.nextInt(); // ?¨??????\??????

			if (H + W == 0) // ?????¨?¨????0 0????????????
				break;

			for (int i = 0; i < H; i++) {// ????????°???????????????
				for (int j = 0; j < W; j++) {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				}
				out = out.append("\n");
			}
			output = output.append(out + "\n"); // ????´???????#,\n???????´?
			out.delete(0, out.length()); // ??¨?????¨out????????????
		}
		System.out.print(output); // ??????
		sc.close();
	}

} public class Main {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in); // ??\???????????????
		StringBuilder out = new StringBuilder(); // ??¨?????¨??¢??°
		StringBuilder output = new StringBuilder(); // #,\n???????´?????????¢??°

		while (true) { // ???????????????
			int H = sc.nextInt(); // ????????\??????
			int W = sc.nextInt(); // ?¨??????\??????

			if (H + W == 0) // ?????¨?¨????0 0????????????
				break;

			for (int i = 0; i < H; i++) {// ????????°???????????????
				for (int j = 0; j < W; j++) {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				}
				out = out.append("\n");
			}
			output = output.append(out + "\n"); // ????´???????#,\n???????´?
			out.delete(0, out.length()); // ??¨?????¨out????????????
		}
		System.out.print(output); // ??????
		sc.close();
	}

} Main
import java.io.IOException;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in); // ??\???????????????
		StringBuilder out = new StringBuilder(); // ??¨?????¨??¢??°
		StringBuilder output = new StringBuilder(); // #,\n???????´?????????¢??°

		while (true) { // ???????????????
			int H = sc.nextInt(); // ????????\??????
			int W = sc.nextInt(); // ?¨??????\??????

			if (H + W == 0) // ?????¨?¨????0 0????????????
				break;

			for (int i = 0; i < H; i++) {// ????????°???????????????
				for (int j = 0; j < W; j++) {// ?¨??????°???????????????
					if ((i == 0 || i == H - 1) || (j == 0 || j == W - 1)) { // ????????§?±??????????????????????
						out = out.append("#");
					} else {
						out = out.append(".");
					}
				}
				out = out.append("\n");
			}
			output = output.append(out + "\n"); // ????´???????#,\n???????´?
			out.delete(0, out.length()); // ??¨?????¨out????????????
		}
		System.out.print(output); // ??????
		sc.close();
	}

}