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: Accepted)

using System;

	public class Class1
	{
		public static void Main()
		{   int h=0;
			int w=0;
			int k=0;
			while(true)
			{
				string dataSet=Console.ReadLine();
				string[] data=dataSet.Split();
				 h=int.Parse(data[0]);
				 w=int.Parse(data[1]);
				
				 if(h==0&&w==0)
				 {
				 	break;
				 }
				for(int i=0;i<h;i++)
				{   if(i==0||i==(h-1))
					{
						 k=1;
					}
					
					
					for(int j=0;j<w;j++)
					{
						if(k==1||j==0||j==(w-1))
						{
							Console.Write("#");						
							
						}
						else
						{
							Console.Write(".");
						}
						
					}
					k=0;
					Console.Write("\r\n");
						
				}
				Console.Write("\r\n");
				
			}
				
		}
	}