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 PHP (judge verdict: Accepted)

<?php
list($h,$w) = explode(" ",trim(fgets(STDIN)));
while($h > 0){
    $i = 0;
    while($i < $h){
        $a[$i] = array_fill(0,$w,"#");
        ++$i;
    }
    $h -= 2;
    while($h > 0){
        $i = 1;
        while($i < $w - 1){
            $a[$h][$i] = ".";
            ++$i;
        }
        --$h;
    }
    foreach($a as $val){
        foreach($val as $val2){
            echo $val2;
        }
        echo PHP_EOL;
    }
    unset($a);
    echo PHP_EOL;
    list($h,$w) = explode(" ",trim(fgets(STDIN)));
}