import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws IOException {
		
		int H = 0;
		int W = 0;
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		while (true) {
			String str = br.readLine();
			String[] num = str.split(" ");

			H = Integer.parseInt(num[0]);
			W = Integer.parseInt(num[1]);

			if (H == 0 && W == 0) {
				break;
			}
			for (int i = 0; i < H; i++) {
				for (int j = 0; j < W - 1; j++) {
					if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					}
				}
				System.out.println("#");
			}
		System.out.println();
		}
		
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io public class Main {

	public static void main(String[] args) throws IOException {
		
		int H = 0;
		int W = 0;
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		while (true) {
			String str = br.readLine();
			String[] num = str.split(" ");

			H = Integer.parseInt(num[0]);
			W = Integer.parseInt(num[1]);

			if (H == 0 && W == 0) {
				break;
			}
			for (int i = 0; i < H; i++) {
				for (int j = 0; j < W - 1; j++) {
					if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					}
				}
				System.out.println("#");
			}
		System.out.println();
		}
		
	}
} Main public static void main(String[] args) throws IOException {
		
		int H = 0;
		int W = 0;
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		while (true) {
			String str = br.readLine();
			String[] num = str.split(" ");

			H = Integer.parseInt(num[0]);
			W = Integer.parseInt(num[1]);

			if (H == 0 && W == 0) {
				break;
			}
			for (int i = 0; i < H; i++) {
				for (int j = 0; j < W - 1; j++) {
					if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					}
				}
				System.out.println("#");
			}
		System.out.println();
		}
		
	} main {
		
		int H = 0;
		int W = 0;
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		while (true) {
			String str = br.readLine();
			String[] num = str.split(" ");

			H = Integer.parseInt(num[0]);
			W = Integer.parseInt(num[1]);

			if (H == 0 && W == 0) {
				break;
			}
			for (int i = 0; i < H; i++) {
				for (int j = 0; j < W - 1; j++) {
					if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					}
				}
				System.out.println("#");
			}
		System.out.println();
		}
		
	} int H = 0; H 0 int W = 0; W 0 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) while (true) {
			String str = br.readLine();
			String[] num = str.split(" ");

			H = Integer.parseInt(num[0]);
			W = Integer.parseInt(num[1]);

			if (H == 0 && W == 0) {
				break;
			}
			for (int i = 0; i < H; i++) {
				for (int j = 0; j < W - 1; j++) {
					if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					}
				}
				System.out.println("#");
			}
		System.out.println();
		} true {
			String str = br.readLine();
			String[] num = str.split(" ");

			H = Integer.parseInt(num[0]);
			W = Integer.parseInt(num[1]);

			if (H == 0 && W == 0) {
				break;
			}
			for (int i = 0; i < H; i++) {
				for (int j = 0; j < W - 1; j++) {
					if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					}
				}
				System.out.println("#");
			}
		System.out.println();
		} String str = br.readLine(); str br.readLine() br.readLine br String[] num = str.split(" "); num str.split(" ") str.split str " " H = Integer.parseInt(num[0]) H Integer.parseInt(num[0]) Integer.parseInt Integer num[0] num 0 W = Integer.parseInt(num[1]) W Integer.parseInt(num[1]) Integer.parseInt Integer num[1] num 1 if (H == 0 && W == 0) {
				break;
			} H == 0 && W == 0 H == 0 H 0 W == 0 W 0 {
				break;
			} break; for (int i = 0; i < H; i++) {
				for (int j = 0; j < W - 1; j++) {
					if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					}
				}
				System.out.println("#");
			} int i = 0; int i = 0; i 0 i < H i H i++ i++ i {
				for (int j = 0; j < W - 1; j++) {
					if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					}
				}
				System.out.println("#");
			} {
				for (int j = 0; j < W - 1; j++) {
					if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					}
				}
				System.out.println("#");
			} for (int j = 0; j < W - 1; j++) {
					if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					}
				} int j = 0; int j = 0; j 0 j < W - 1 j W - 1 W 1 j++ j++ j {
					if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					}
				} {
					if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					}
				} if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					} i == 0 || i == H - 1 i == 0 i 0 i == H - 1 i H - 1 H 1 {
						System.out.print("#");
					} System.out.print("#") System.out.print System.out System System.out "#" if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					} j == 0 || j == W - 1 j == 0 j 0 j == W - 1 j W - 1 W 1 {
						System.out.print("#");
					} System.out.print("#") System.out.print System.out System System.out "#" {
						System.out.print(".");
					} 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 String[] args args public class Main {

	public static void main(String[] args) throws IOException {
		
		int H = 0;
		int W = 0;
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		while (true) {
			String str = br.readLine();
			String[] num = str.split(" ");

			H = Integer.parseInt(num[0]);
			W = Integer.parseInt(num[1]);

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

	public static void main(String[] args) throws IOException {
		
		int H = 0;
		int W = 0;
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		while (true) {
			String str = br.readLine();
			String[] num = str.split(" ");

			H = Integer.parseInt(num[0]);
			W = Integer.parseInt(num[1]);

			if (H == 0 && W == 0) {
				break;
			}
			for (int i = 0; i < H; i++) {
				for (int j = 0; j < W - 1; j++) {
					if (i == 0 || i == H - 1) {
						System.out.print("#");
					} else if (j == 0 || j == W - 1) {
						System.out.print("#");
					} else {
						System.out.print(".");
					}
				}
				System.out.println("#");
			}
		System.out.println();
		}
		
	}
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws IOException {
		
		int H = 0;
		int W = 0;
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		while (true) {
			String str = br.readLine();
			String[] num = str.split(" ");

			H = Integer.parseInt(num[0]);
			W = Integer.parseInt(num[1]);

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