Problem:
Print a Frame

Draw a frame which has a height of H cm and a width of W cm. For example, the following figure shows a frame which has a height of 6 cm and a width of 10 cm.

##########
#........#
#........#
#........#
#........#
##########

Input

The input consists of multiple datasets. Each dataset consists of two integers H and W separated by a single space.

The input ends with two 0 (when both H and W are zero).

Output

For each dataset, print the frame made of '#' and '.'.

Print a blank line after each dataset.

Constraints

3 ≤ H ≤ 300

3 ≤ W ≤ 300

Sample Input

3 4
5 6
3 3
0 0

Sample Output

####
#..#
####

######
#....#
#....#
#....#
######

###
#.#
###

Solution in JavaScript (judge verdict: Accepted)

var input=require("fs").readFileSync("/dev/stdin","utf8");
input=input.split("\n");

var str,oup;
var H,W,h,w;
var i=0;

while(1){
    str=input[i].split(" ");
    H=str[0];
    W=str[1];
    if(H==0&&W==0){
        break;
    }
    
    for(h=0;h<H;h++){
        oup="";
        for(w=0;w<W;w++){
            if(h==0||h==H-1){
                oup+="#";
            }
            else{
                if(w==0||w==W-1){
                    oup+="#";
                }
                else{
                    oup+=".";
                }
            }
        }
        console.log(oup);
    }
    
    console.log();
    i++;
}