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

(function() {
    'use strict';

    var fs = require('fs');
    var contents = fs.readFileSync('/dev/stdin', 'utf-8');

    var printFrame = function(contents) {
        var lines = contents.trim().split("\n");
        for (var i = 0; i < lines.length; i++) {
            var b = lines[i].split(" ");
            var H = parseInt(b[0]);
            var W = parseInt(b[1]);

            if (H === 0 && W === 0) {
                break;
            }
            for (var h = 0; h < H; h++) {
                for (var w = 0; w < W; w++) {
                    if (h === 0 || h === H - 1 || w === 0 || w === W - 1) {
                        process.stdout.write("#");
                    } else {
                        process.stdout.write(".");
                    }
                }
                process.stdout.write("\n");
            }
            process.stdout.write("\n");
        }
    }
    printFrame(contents);
})();