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

public class Main {
	
	public static void main(String[] args) {
		try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			while (true) {
				String s = reader.readLine();
				String[] a = s.split(" ");
				
				int H = Integer.parseInt(a[0]);
				int W = Integer.parseInt(a[1]);
				
				if (H == 0 && 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))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					}
					System.out.println();
				}
				System.out.println();
			}
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

} 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) {
		try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			while (true) {
				String s = reader.readLine();
				String[] a = s.split(" ");
				
				int H = Integer.parseInt(a[0]);
				int W = Integer.parseInt(a[1]);
				
				if (H == 0 && 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))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					}
					System.out.println();
				}
				System.out.println();
			}
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

} Main public static void main(String[] args) {
		try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			while (true) {
				String s = reader.readLine();
				String[] a = s.split(" ");
				
				int H = Integer.parseInt(a[0]);
				int W = Integer.parseInt(a[1]);
				
				if (H == 0 && 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))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					}
					System.out.println();
				}
				System.out.println();
			}
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	} main {
		try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			while (true) {
				String s = reader.readLine();
				String[] a = s.split(" ");
				
				int H = Integer.parseInt(a[0]);
				int W = Integer.parseInt(a[1]);
				
				if (H == 0 && 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))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					}
					System.out.println();
				}
				System.out.println();
			}
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	} try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			while (true) {
				String s = reader.readLine();
				String[] a = s.split(" ");
				
				int H = Integer.parseInt(a[0]);
				int W = Integer.parseInt(a[1]);
				
				if (H == 0 && 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))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					}
					System.out.println();
				}
				System.out.println();
			}
			
		} catch (IOException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} IOException e {
			e.printStackTrace();
		} e.printStackTrace() e.printStackTrace e {
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			while (true) {
				String s = reader.readLine();
				String[] a = s.split(" ");
				
				int H = Integer.parseInt(a[0]);
				int W = Integer.parseInt(a[1]);
				
				if (H == 0 && 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))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					}
					System.out.println();
				}
				System.out.println();
			}
			
		} BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); reader new BufferedReader(new InputStreamReader(System.in)) while (true) {
				String s = reader.readLine();
				String[] a = s.split(" ");
				
				int H = Integer.parseInt(a[0]);
				int W = Integer.parseInt(a[1]);
				
				if (H == 0 && 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))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					}
					System.out.println();
				}
				System.out.println();
			} true {
				String s = reader.readLine();
				String[] a = s.split(" ");
				
				int H = Integer.parseInt(a[0]);
				int W = Integer.parseInt(a[1]);
				
				if (H == 0 && 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))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					}
					System.out.println();
				}
				System.out.println();
			} String s = reader.readLine(); s reader.readLine() reader.readLine reader String[] a = s.split(" "); a s.split(" ") s.split s " " int H = Integer.parseInt(a[0]); H Integer.parseInt(a[0]) Integer.parseInt Integer a[0] a 0 int W = Integer.parseInt(a[1]); W Integer.parseInt(a[1]) Integer.parseInt Integer a[1] a 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; j++) {
						if ((i != 0 && i != (H - 1)) && (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; j++) {
						if ((i != 0 && i != (H - 1)) && (j != 0 && j != (W - 1))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					}
					System.out.println();
				} {
					for (int j = 0; j < W; j++) {
						if ((i != 0 && i != (H - 1)) && (j != 0 && j != (W - 1))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					}
					System.out.println();
				} for (int j = 0; j < W; j++) {
						if ((i != 0 && i != (H - 1)) && (j != 0 && j != (W - 1))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					} 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))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					} {
						if ((i != 0 && i != (H - 1)) && (j != 0 && j != (W - 1))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					} if ((i != 0 && i != (H - 1)) && (j != 0 && j != (W - 1))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						} (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 {
							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) {
		try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			while (true) {
				String s = reader.readLine();
				String[] a = s.split(" ");
				
				int H = Integer.parseInt(a[0]);
				int W = Integer.parseInt(a[1]);
				
				if (H == 0 && 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))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					}
					System.out.println();
				}
				System.out.println();
			}
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

} public class Main {
	
	public static void main(String[] args) {
		try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			while (true) {
				String s = reader.readLine();
				String[] a = s.split(" ");
				
				int H = Integer.parseInt(a[0]);
				int W = Integer.parseInt(a[1]);
				
				if (H == 0 && 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))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					}
					System.out.println();
				}
				System.out.println();
			}
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

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

public class Main {
	
	public static void main(String[] args) {
		try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			while (true) {
				String s = reader.readLine();
				String[] a = s.split(" ");
				
				int H = Integer.parseInt(a[0]);
				int W = Integer.parseInt(a[1]);
				
				if (H == 0 && 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))) {
							System.out.print(".");
						} else {
							System.out.print("#");
						}
					}
					System.out.println();
				}
				System.out.println();
			}
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}