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;

class Print_a_Rectangle
{
  public static void Main()
  {
    while(true)
    {
      string number_str = Console.ReadLine();
      string[] number_tmp = number_str.Split();
      int H = int.Parse(number_tmp[0]);
      int W = int.Parse(number_tmp[1]);
      
      if(H==0&&W==0) break;
      
      for(int j=1;j<=W;j++)
      {
          Console.Write("#");
      }
      
      Console.WriteLine();
     
      for(int i=1;i<=H-2;i++)
      {
        for(int j=1;j<=W;j++)
        {
          if(j==1||j==W)
          {
            Console.Write("#");
          }else{
            Console.Write(".");
          }
        }
        Console.WriteLine();
      }
       
      for(int j=1;j<=W;j++)
        {
          Console.Write("#");
        }
      Console.WriteLine();
      Console.WriteLine();
      }
   }
}