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(void)
{
	int H;
	int W;
	int a;
	int b;
	int c;
	int d;
	
	for(;;){
		scanf("%d %d", &H, &W);
		for (a = 1; a <= W; a++){
			printf("#");
		}
		printf("\n");
		for (b = 1; b <= (H-2); b++){
			printf("#");
			for(c = 1; c <= (W-2); c++){
				printf(".");
			}
			printf("#");
				printf("\n");
			}
		for (d = 1; d <= W; d++){
			printf("#");
		}
		printf("\n");
		}
		
		return (0);
	}