import java.io.*;

class Main {
	public static void main(String[] args)  throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		boolean end = false;

		while (end == false) {
			// ??\?????????????????????
			String temp = br.readLine();
			String[] numbers = temp.split(" ");// ????????¨??????????????????
			int H = Integer.parseInt(numbers[0]);
			;// ??????
			int W = Integer.parseInt(numbers[1]);
			;// ???

			if (H >= 3 || W <= 100 && H > 0 && W > 0) {
				// ????§???¢??????????????????
				for (int i = 0; i < H; i++) {

					if (i == 0 || i == H - 1) {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} else {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					}

					System.out.println();// ?¬??????????
				}
				System.out.println();// ??????

			} else if (H == 0 && W == 0) {
				end = true;// HW?????????0??????????????????
			}
		}


	}
} import java.io.*; io.* java class Main {
	public static void main(String[] args)  throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		boolean end = false;

		while (end == false) {
			// ??\?????????????????????
			String temp = br.readLine();
			String[] numbers = temp.split(" ");// ????????¨??????????????????
			int H = Integer.parseInt(numbers[0]);
			;// ??????
			int W = Integer.parseInt(numbers[1]);
			;// ???

			if (H >= 3 || W <= 100 && H > 0 && W > 0) {
				// ????§???¢??????????????????
				for (int i = 0; i < H; i++) {

					if (i == 0 || i == H - 1) {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} else {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					}

					System.out.println();// ?¬??????????
				}
				System.out.println();// ??????

			} else if (H == 0 && W == 0) {
				end = true;// HW?????????0??????????????????
			}
		}


	}
} Main public static void main(String[] args)  throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		boolean end = false;

		while (end == false) {
			// ??\?????????????????????
			String temp = br.readLine();
			String[] numbers = temp.split(" ");// ????????¨??????????????????
			int H = Integer.parseInt(numbers[0]);
			;// ??????
			int W = Integer.parseInt(numbers[1]);
			;// ???

			if (H >= 3 || W <= 100 && H > 0 && W > 0) {
				// ????§???¢??????????????????
				for (int i = 0; i < H; i++) {

					if (i == 0 || i == H - 1) {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} else {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					}

					System.out.println();// ?¬??????????
				}
				System.out.println();// ??????

			} else if (H == 0 && W == 0) {
				end = true;// HW?????????0??????????????????
			}
		}


	} main {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		boolean end = false;

		while (end == false) {
			// ??\?????????????????????
			String temp = br.readLine();
			String[] numbers = temp.split(" ");// ????????¨??????????????????
			int H = Integer.parseInt(numbers[0]);
			;// ??????
			int W = Integer.parseInt(numbers[1]);
			;// ???

			if (H >= 3 || W <= 100 && H > 0 && W > 0) {
				// ????§???¢??????????????????
				for (int i = 0; i < H; i++) {

					if (i == 0 || i == H - 1) {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} else {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					}

					System.out.println();// ?¬??????????
				}
				System.out.println();// ??????

			} else if (H == 0 && W == 0) {
				end = true;// HW?????????0??????????????????
			}
		}


	} BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) boolean end = false; end false while (end == false) {
			// ??\?????????????????????
			String temp = br.readLine();
			String[] numbers = temp.split(" ");// ????????¨??????????????????
			int H = Integer.parseInt(numbers[0]);
			;// ??????
			int W = Integer.parseInt(numbers[1]);
			;// ???

			if (H >= 3 || W <= 100 && H > 0 && W > 0) {
				// ????§???¢??????????????????
				for (int i = 0; i < H; i++) {

					if (i == 0 || i == H - 1) {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} else {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					}

					System.out.println();// ?¬??????????
				}
				System.out.println();// ??????

			} else if (H == 0 && W == 0) {
				end = true;// HW?????????0??????????????????
			}
		} end == false end false {
			// ??\?????????????????????
			String temp = br.readLine();
			String[] numbers = temp.split(" ");// ????????¨??????????????????
			int H = Integer.parseInt(numbers[0]);
			;// ??????
			int W = Integer.parseInt(numbers[1]);
			;// ???

			if (H >= 3 || W <= 100 && H > 0 && W > 0) {
				// ????§???¢??????????????????
				for (int i = 0; i < H; i++) {

					if (i == 0 || i == H - 1) {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} else {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					}

					System.out.println();// ?¬??????????
				}
				System.out.println();// ??????

			} else if (H == 0 && W == 0) {
				end = true;// HW?????????0??????????????????
			}
		} String temp = br.readLine(); temp br.readLine() br.readLine br String[] numbers = temp.split(" "); numbers temp.split(" ") temp.split temp " " int H = Integer.parseInt(numbers[0]); H Integer.parseInt(numbers[0]) Integer.parseInt Integer numbers[0] numbers 0 int W = Integer.parseInt(numbers[1]); W Integer.parseInt(numbers[1]) Integer.parseInt Integer numbers[1] numbers 1 if (H >= 3 || W <= 100 && H > 0 && W > 0) {
				// ????§???¢??????????????????
				for (int i = 0; i < H; i++) {

					if (i == 0 || i == H - 1) {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} else {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					}

					System.out.println();// ?¬??????????
				}
				System.out.println();// ??????

			} else if (H == 0 && W == 0) {
				end = true;// HW?????????0??????????????????
			} H >= 3 || W <= 100 && H > 0 && W > 0 H >= 3 H 3 W <= 100 && H > 0 && W > 0 W <= 100 && H > 0 && W > 0 W <= 100 W 100 H > 0 H 0 W > 0 W 0 {
				// ????§???¢??????????????????
				for (int i = 0; i < H; i++) {

					if (i == 0 || i == H - 1) {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} else {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					}

					System.out.println();// ?¬??????????
				}
				System.out.println();// ??????

			} for (int i = 0; i < H; i++) {

					if (i == 0 || i == H - 1) {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} else {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					}

					System.out.println();// ?¬??????????
				} int i = 0; int i = 0; i 0 i < H i H i++ i++ i {

					if (i == 0 || i == H - 1) {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} else {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					}

					System.out.println();// ?¬??????????
				} {

					if (i == 0 || i == H - 1) {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} else {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					}

					System.out.println();// ?¬??????????
				} if (i == 0 || i == H - 1) {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} else {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					} i == 0 || i == H - 1 i == 0 i 0 i == H - 1 i H - 1 H 1 {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} for (int j = 0; j < W; j++) {
							System.out.print("#");
						} int j = 0; int j = 0; j 0 j < W j W j++ j++ j {
							System.out.print("#");
						} {
							System.out.print("#");
						} System.out.print("#") System.out.print System.out System System.out "#" {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					} System.out.print("#") System.out.print System.out System System.out "#" for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						} int j = 1; int j = 1; j 1 j < W - 1 j W - 1 W 1 j++ j++ j {
							System.out.print(".");
						} {
							System.out.print(".");
						} System.out.print(".") System.out.print System.out System System.out "." System.out.print("#") System.out.print System.out System System.out "#" System.out.println() System.out.println System.out System System.out System.out.println() System.out.println System.out System System.out if (H == 0 && W == 0) {
				end = true;// HW?????????0??????????????????
			} H == 0 && W == 0 H == 0 H 0 W == 0 W 0 {
				end = true;// HW?????????0??????????????????
			} end = true end true String[] args args
import java.io.*;

class Main {
	public static void main(String[] args)  throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		boolean end = false;

		while (end == false) {
			// ??\?????????????????????
			String temp = br.readLine();
			String[] numbers = temp.split(" ");// ????????¨??????????????????
			int H = Integer.parseInt(numbers[0]);
			;// ??????
			int W = Integer.parseInt(numbers[1]);
			;// ???

			if (H >= 3 || W <= 100 && H > 0 && W > 0) {
				// ????§???¢??????????????????
				for (int i = 0; i < H; i++) {

					if (i == 0 || i == H - 1) {
						for (int j = 0; j < W; j++) {
							System.out.print("#");
						}
					} else {
						System.out.print("#");
						for (int j = 1; j < W - 1; j++) {
							System.out.print(".");
						}
						System.out.print("#");
					}

					System.out.println();// ?¬??????????
				}
				System.out.println();// ??????

			} else if (H == 0 && W == 0) {
				end = true;// HW?????????0??????????????????
			}
		}


	}
}