import java.util.Scanner;

class Main {
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		StringBuilder str = new StringBuilder();

		while (true) {
			int h = scan.nextInt();
			int w = scan.nextInt();

			if (h == 0 && w == 0)
				break;
			
			//上の部分
			for (int i = 0; i < w; i++)
				str.append("#");        
			str.append("\n");           
			
			//中の部分
			for (int i = 0; i < h - 2; i++) {
				str.append("#");
				for (int j = 0; j < w - 2; j++) {
					str.append(".");
				}
				str.append("#\n");
			}
			
			//下の部分
			for (int i = 0; i < w; i++)
				str.append("#");
			str.append("\n");
			
			//1行あける
			str.append("\n");  
		}
		System.out.print(str);
	}
}
/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