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;
using System.Linq;
using System.Text;

namespace Prac
{
    class Program
    {
        static void Main(string[] args)
        {
            var Hs = new List<int>();
            var Ws = new List<int>();
            var temp = new int[2];
            while (true)
            {
                temp = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
                if (temp[0] == 0 && temp[1] == 0)
                    break;
                Hs.Add(temp[0]);
                Ws.Add(temp[1]);
            }
            for (var i = 0; i < Hs.Count; i++)
            {
                for (var h = 0; h < Hs[i]; h++)
                {
                    if ((h == 0) | (h == Hs[i] - 1))
                    {
                        for (var w = 0; w < Ws[i]; w++)
                        {
                            Console.Write("#");
                        }
                    }
                    else
                    {
                        Console.Write("#");
                        for (var w = 1; w < Ws[i]-1; w++)
                        {
                            Console.Write(".");
                        }
                        Console.Write("#");
                    }
                    Console.WriteLine();
                }
                Console.WriteLine();
            }
            
        }


    }
}