import java.util.*;
import java.io.*;
import java.lang.*;
import java.math.*;
public class Main{
	public static void main(String[] args) throws IOException{
		Scanner stdIn=new Scanner(System.in);
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		while(true){
			int h=stdIn.nextInt();
			int w=stdIn.nextInt();
			if(h==0)
				break;
			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=0;j<w-2;j++)
						System.out.print(".");
					System.out.print("#");
				}
				System.out.println("");
			}
			System.out.println("");
		}
	}
} import java.util.*; util.* java import java.io.*; io.* java import java.lang.*; lang.* java import java.math.*; math.* java public class Main{
	public static void main(String[] args) throws IOException{
		Scanner stdIn=new Scanner(System.in);
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		while(true){
			int h=stdIn.nextInt();
			int w=stdIn.nextInt();
			if(h==0)
				break;
			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=0;j<w-2;j++)
						System.out.print(".");
					System.out.print("#");
				}
				System.out.println("");
			}
			System.out.println("");
		}
	}
} Main public static void main(String[] args) throws IOException{
		Scanner stdIn=new Scanner(System.in);
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		while(true){
			int h=stdIn.nextInt();
			int w=stdIn.nextInt();
			if(h==0)
				break;
			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=0;j<w-2;j++)
						System.out.print(".");
					System.out.print("#");
				}
				System.out.println("");
			}
			System.out.println("");
		}
	} main {
		Scanner stdIn=new Scanner(System.in);
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		while(true){
			int h=stdIn.nextInt();
			int w=stdIn.nextInt();
			if(h==0)
				break;
			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=0;j<w-2;j++)
						System.out.print(".");
					System.out.print("#");
				}
				System.out.println("");
			}
			System.out.println("");
		}
	} Scanner stdIn=new Scanner(System.in); stdIn new Scanner(System.in) BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) while(true){
			int h=stdIn.nextInt();
			int w=stdIn.nextInt();
			if(h==0)
				break;
			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=0;j<w-2;j++)
						System.out.print(".");
					System.out.print("#");
				}
				System.out.println("");
			}
			System.out.println("");
		} true {
			int h=stdIn.nextInt();
			int w=stdIn.nextInt();
			if(h==0)
				break;
			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=0;j<w-2;j++)
						System.out.print(".");
					System.out.print("#");
				}
				System.out.println("");
			}
			System.out.println("");
		} int h=stdIn.nextInt(); h stdIn.nextInt() stdIn.nextInt stdIn int w=stdIn.nextInt(); w stdIn.nextInt() stdIn.nextInt stdIn if(h==0)
				break; h==0 h 0 break; 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=0;j<w-2;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=0;j<w-2;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=0;j<w-2;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=0;j<w-2;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 System System.out "#" {
					System.out.print("#");
					for(int j=0;j<w-2;j++)
						System.out.print(".");
					System.out.print("#");
				} System.out.print("#") System.out.print System.out System System.out "#" for(int j=0;j<w-2;j++)
						System.out.print("."); int j=0; int j=0; j 0 j<w-2 j w-2 w 2 j++ j++ j 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 "" String[] args args public class Main{
	public static void main(String[] args) throws IOException{
		Scanner stdIn=new Scanner(System.in);
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		while(true){
			int h=stdIn.nextInt();
			int w=stdIn.nextInt();
			if(h==0)
				break;
			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=0;j<w-2;j++)
						System.out.print(".");
					System.out.print("#");
				}
				System.out.println("");
			}
			System.out.println("");
		}
	}
} public class Main{
	public static void main(String[] args) throws IOException{
		Scanner stdIn=new Scanner(System.in);
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		while(true){
			int h=stdIn.nextInt();
			int w=stdIn.nextInt();
			if(h==0)
				break;
			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=0;j<w-2;j++)
						System.out.print(".");
					System.out.print("#");
				}
				System.out.println("");
			}
			System.out.println("");
		}
	}
} Main
import java.util.*;
import java.io.*;
import java.lang.*;
import java.math.*;
public class Main{
	public static void main(String[] args) throws IOException{
		Scanner stdIn=new Scanner(System.in);
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		while(true){
			int h=stdIn.nextInt();
			int w=stdIn.nextInt();
			if(h==0)
				break;
			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=0;j<w-2;j++)
						System.out.print(".");
					System.out.print("#");
				}
				System.out.println("");
			}
			System.out.println("");
		}
	}
}