
import java.util.Scanner;

class  Main {
	public static void main(String args[]){
		
		Scanner sc = new Scanner(System.in);
		
		while(true){
			
		    //縦Hと横Wの値を受け取る
		    String s1 = sc.next();
	            int H = Integer.parseInt(s1);
	            String s2 = sc.next();
	            int W = Integer.parseInt(s2);
	        
	            //値が条件（３００以下であるか）にあっているか確認
	            if(H <= 300 && W <= 300){
	        
	                //０と０が入力された時プログラムは終了する
	                if(H == 0 && W == 0){
	        	        break;
	                }
	        
	                //縦H個、横W個とした長方形のフレームを”＃”、中身を”.”で表示する
	                for(int i = 1; i <= H; i++){
	            	    if(i == 1 || i == H){
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    }
	            	    else{
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    }
	            	    System.out.println("");
	                }
	                System.out.println("");
	            }
	       }
	}
} import java.util.Scanner; Scanner java.util class  Main {
	public static void main(String args[]){
		
		Scanner sc = new Scanner(System.in);
		
		while(true){
			
		    //縦Hと横Wの値を受け取る
		    String s1 = sc.next();
	            int H = Integer.parseInt(s1);
	            String s2 = sc.next();
	            int W = Integer.parseInt(s2);
	        
	            //値が条件（３００以下であるか）にあっているか確認
	            if(H <= 300 && W <= 300){
	        
	                //０と０が入力された時プログラムは終了する
	                if(H == 0 && W == 0){
	        	        break;
	                }
	        
	                //縦H個、横W個とした長方形のフレームを”＃”、中身を”.”で表示する
	                for(int i = 1; i <= H; i++){
	            	    if(i == 1 || i == H){
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    }
	            	    else{
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    }
	            	    System.out.println("");
	                }
	                System.out.println("");
	            }
	       }
	}
} Main public static void main(String args[]){
		
		Scanner sc = new Scanner(System.in);
		
		while(true){
			
		    //縦Hと横Wの値を受け取る
		    String s1 = sc.next();
	            int H = Integer.parseInt(s1);
	            String s2 = sc.next();
	            int W = Integer.parseInt(s2);
	        
	            //値が条件（３００以下であるか）にあっているか確認
	            if(H <= 300 && W <= 300){
	        
	                //０と０が入力された時プログラムは終了する
	                if(H == 0 && W == 0){
	        	        break;
	                }
	        
	                //縦H個、横W個とした長方形のフレームを”＃”、中身を”.”で表示する
	                for(int i = 1; i <= H; i++){
	            	    if(i == 1 || i == H){
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    }
	            	    else{
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    }
	            	    System.out.println("");
	                }
	                System.out.println("");
	            }
	       }
	} main {
		
		Scanner sc = new Scanner(System.in);
		
		while(true){
			
		    //縦Hと横Wの値を受け取る
		    String s1 = sc.next();
	            int H = Integer.parseInt(s1);
	            String s2 = sc.next();
	            int W = Integer.parseInt(s2);
	        
	            //値が条件（３００以下であるか）にあっているか確認
	            if(H <= 300 && W <= 300){
	        
	                //０と０が入力された時プログラムは終了する
	                if(H == 0 && W == 0){
	        	        break;
	                }
	        
	                //縦H個、横W個とした長方形のフレームを”＃”、中身を”.”で表示する
	                for(int i = 1; i <= H; i++){
	            	    if(i == 1 || i == H){
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    }
	            	    else{
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    }
	            	    System.out.println("");
	                }
	                System.out.println("");
	            }
	       }
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) while(true){
			
		    //縦Hと横Wの値を受け取る
		    String s1 = sc.next();
	            int H = Integer.parseInt(s1);
	            String s2 = sc.next();
	            int W = Integer.parseInt(s2);
	        
	            //値が条件（３００以下であるか）にあっているか確認
	            if(H <= 300 && W <= 300){
	        
	                //０と０が入力された時プログラムは終了する
	                if(H == 0 && W == 0){
	        	        break;
	                }
	        
	                //縦H個、横W個とした長方形のフレームを”＃”、中身を”.”で表示する
	                for(int i = 1; i <= H; i++){
	            	    if(i == 1 || i == H){
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    }
	            	    else{
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    }
	            	    System.out.println("");
	                }
	                System.out.println("");
	            }
	       } true {
			
		    //縦Hと横Wの値を受け取る
		    String s1 = sc.next();
	            int H = Integer.parseInt(s1);
	            String s2 = sc.next();
	            int W = Integer.parseInt(s2);
	        
	            //値が条件（３００以下であるか）にあっているか確認
	            if(H <= 300 && W <= 300){
	        
	                //０と０が入力された時プログラムは終了する
	                if(H == 0 && W == 0){
	        	        break;
	                }
	        
	                //縦H個、横W個とした長方形のフレームを”＃”、中身を”.”で表示する
	                for(int i = 1; i <= H; i++){
	            	    if(i == 1 || i == H){
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    }
	            	    else{
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    }
	            	    System.out.println("");
	                }
	                System.out.println("");
	            }
	       } String s1 = sc.next(); s1 sc.next() sc.next sc int H = Integer.parseInt(s1); H Integer.parseInt(s1) Integer.parseInt Integer s1 String s2 = sc.next(); s2 sc.next() sc.next sc int W = Integer.parseInt(s2); W Integer.parseInt(s2) Integer.parseInt Integer s2 if(H <= 300 && W <= 300){
	        
	                //０と０が入力された時プログラムは終了する
	                if(H == 0 && W == 0){
	        	        break;
	                }
	        
	                //縦H個、横W個とした長方形のフレームを”＃”、中身を”.”で表示する
	                for(int i = 1; i <= H; i++){
	            	    if(i == 1 || i == H){
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    }
	            	    else{
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    }
	            	    System.out.println("");
	                }
	                System.out.println("");
	            } H <= 300 && W <= 300 H <= 300 H 300 W <= 300 W 300 {
	        
	                //０と０が入力された時プログラムは終了する
	                if(H == 0 && W == 0){
	        	        break;
	                }
	        
	                //縦H個、横W個とした長方形のフレームを”＃”、中身を”.”で表示する
	                for(int i = 1; i <= H; i++){
	            	    if(i == 1 || i == H){
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    }
	            	    else{
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    }
	            	    System.out.println("");
	                }
	                System.out.println("");
	            } if(H == 0 && W == 0){
	        	        break;
	                } H == 0 && W == 0 H == 0 H 0 W == 0 W 0 {
	        	        break;
	                } break; for(int i = 1; i <= H; i++){
	            	    if(i == 1 || i == H){
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    }
	            	    else{
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    }
	            	    System.out.println("");
	                } int i = 1; int i = 1; i 1 i <= H i H i++ i++ i {
	            	    if(i == 1 || i == H){
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    }
	            	    else{
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    }
	            	    System.out.println("");
	                } {
	            	    if(i == 1 || i == H){
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    }
	            	    else{
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    }
	            	    System.out.println("");
	                } if(i == 1 || i == H){
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    }
	            	    else{
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    } i == 1 || i == H i == 1 i 1 i == H i H {
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    } for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        } int j = 1; int j = 1; j 1 j <= W j W j++ j++ j {
	        		    System.out.print("#");
	        	        } {
	        		    System.out.print("#");
	        	        } System.out.print("#") System.out.print System.out System System.out "#" {
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    } for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        } int j = 1; int j = 1; j 1 j <= W j W j++ j++ j {
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        } {
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        } if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    } j == 1 || j == W j == 1 j 1 j == W j W {
	            			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

import java.util.Scanner;

class  Main {
	public static void main(String args[]){
		
		Scanner sc = new Scanner(System.in);
		
		while(true){
			
		    //縦Hと横Wの値を受け取る
		    String s1 = sc.next();
	            int H = Integer.parseInt(s1);
	            String s2 = sc.next();
	            int W = Integer.parseInt(s2);
	        
	            //値が条件（３００以下であるか）にあっているか確認
	            if(H <= 300 && W <= 300){
	        
	                //０と０が入力された時プログラムは終了する
	                if(H == 0 && W == 0){
	        	        break;
	                }
	        
	                //縦H個、横W個とした長方形のフレームを”＃”、中身を”.”で表示する
	                for(int i = 1; i <= H; i++){
	            	    if(i == 1 || i == H){
	        	        for(int j = 1; j <= W; j++){
	        		    System.out.print("#");
	        	        }
	            	    }
	            	    else{
	            		for(int j = 1; j <= W; j++){
	            		    if(j == 1 || j == W){
	            			System.out.print("#");
	            		    }
	            		    else{
	            			System.out.print(".");
	            		    }
	        	        }
	            	    }
	            	    System.out.println("");
	                }
	                System.out.println("");
	            }
	       }
	}
}