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;
using System.Collections.Generic;
 class Program
 {
     static void Main(string[] args)
     {
         double data0 = 0, data1 = 0, data2 = 0;

         String nyuryoku;
         string[] data;
         var strList = new List<string>();
              
         while (true)
         {
             nyuryoku = Console.ReadLine();
 
             if (nyuryoku == "0 0")
                 break;
             data0++;
             strList.Add(nyuryoku);
         }
         for (int k = 0; k < data0; k++)
         {
             data = strList[k].Split(' ');
             for (int i = 0; i < int.Parse(data[0]); i++)
             {
                 for (int j = 0; j < int.Parse(data[1]); j++)
                 {
                     if (i == 0 | i == (int.Parse(data[0]) -1 ))
                         Console.Write("#");
                     else
                     {
                         if (j == 0 | j == (int.Parse(data[1]) -1 ))
                             Console.Write("#");
                         else
                             Console.Write(".");
                     }
                      
                         
                 }
                 Console.Write("\n");
             }
             Console.Write("\n");
         }
 
      }
 }