output_description: For each dataset, print the frame made of '#' and '.'.
  
  Print a blank line after each dataset.
input_description: 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).
attempt: c = []
  
  
  def listcreate():
      global c
      c = []
      for y in range(a[0]):
          b = []
          for x in range(a[1]):
              if y == 0 or y == a[0] - 1 or x == 0 or x == a[1] - 1:
                  b.append("#")
              else:
                  b.append(".")
          c.append(b)
      return
  
  
  def listdraw():
      global c
      for y in range(len(c)):
          for x in range(len(c[0])):
              print(c[y][x], end="")
          print()
      return
  
  
  for i in range(10000):
      a = list(map(int, input().split()))
      if sum(a) == 0:
          break
      listcreate()
      listdraw()
      print()
  
problem_description: 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.
  
      
      
      ##########
      #........#
      #........#
      #........#
      #........#
      ##########
samples: [{"input": "4\n    5 6\n    3 3\n    0 0", "output": "####\n    #..#\n    ####\n    \n    ######\n    #....#\n    #....#\n    #....#\n    ######\n    \n    ###\n    #.#\n    ###"}]