Problem:
Score : 200 points

Problem Statement

You are given a image with a height of H pixels and a width of W pixels.
Each pixel is represented by a lowercase English letter.
The pixel at the i-th row from the top and j-th column from the left is a_{ij}.

Put a box around this image and output the result. The box should consist of # and have a thickness of 1.

Constraints

1 ≤ H, W ≤ 100

a_{ij} is a lowercase English letter.

Input

Input is given from Standard Input in the following format:

H W
a_{11} ... a_{1W}
:
a_{H1} ... a_{HW}

Output

Print the image surrounded by a box that consists of # and has a thickness of 1.

Sample Input 1

2 3
abc
arc

Sample Output 1

#####
#abc#
#arc#
#####

Sample Input 2

1 1
z

Sample Output 2

###
#z#
###

Solution in Pascal (FPC 2.6.2) (judge verdict: Accepted)

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,Classes;
var
  h,w,i,j,count,x,y,sw,m,n,c:Integer;
  a:array of string;
  s123,s1,s2,s3:string;
  tf:Boolean;
  nyu:TStringList;
begin
  try
    { TODO -oUser -cConsole Main : ここにコードを記述してください }
    Read(h);
    Readln(w);

    SetLength(a,h);

    {for i := 0 to w+1 do begin
      a[0][i]:='#';
      a[h+1][i]:='#';
    end;
    for i := 0 to h - 1 do begin
      a[i][0]:='#';
      a[i][w+1]:='#';
    end;}

    for i := 0 to h - 1 do
      Readln(a[i]);

    for i := 0 to w+1 do
      Write('#');
    Writeln;
    for i := 0 to h-1 do begin
      Write('#');
      Write(a[i]);
      Writeln('#');
    end;
    for i := 0 to w+1 do
      Write('#');
    Writeln;
    Readln;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.