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: WA: Presentation Error)

using System;
using System.Text;

public class Test
{
	static public void Main( )
	{
		StringBuilder output = new StringBuilder();
		output.Capacity = 608;
		while( true ) { 
			String[] data = Console.ReadLine().Split( ' ' );
			var H = Int32.Parse( data[0] );
			var W = Int32.Parse( data[1] );
			if( 0 == H && 0 == W ) break;
			
			var w = new String( '#', W );
			var w2 = new String( '.', W-2 );
			output.Append( w ) ;
			for( var i=0; i<H-2; i++ ) {
				output.Append( "\n#" ).Append( w2 ).Append( "#\n" );
			}
			output.Append( w ).Append( "\n\n" );
		}
		Console.Write( output );
	}
}