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 C (judge verdict: Time Limit Exceeded)

#include <stdio.h>
int main(){

  int h, w, i, j;
  while(1)
    {
      scanf("%d %d", &h, &w);
      if( h == 0 && w ==0) break;
	  for( j = 0; j < w; j++)
	    {
	      printf("#");
	    }
	  printf("\n#");
	  for( j = 0; j < h - 2; i++)
	    {
	      for( j = 0; j < w - 2; j++)
		{
		  printf(".");
		}
	      printf("#\n");
	    }
	  for( j = 0; j < w; j++)
	    {
	      printf("#");
	    }
      printf("\n");
    }
  return 0;
}