output_description: Print the number of operations that will be performed.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      H W
      A_{11}A_{12}...A_{1W}
      :
      A_{H1}A_{H2}...A_{HW}
attempt: from queue import Queue
  
  h, w = map(int, input().split())
  m = [list(input()) for _ in range(h)]
  
  
  def put(i, j, x, q, v):
      if j + 1 < w and not v[i][j + 1]:
          q.put((i, j + 1, x + 1))
          v[i][j + 1] = True
      if j - 1 >= 0 and not v[i][j - 1]:
          q.put((i, j - 1, x + 1))
          v[i][j - 1] = True
      if i + 1 < w and not v[i + 1][j]:
          q.put((i + 1, j, x + 1))
          v[i + 1][j] = True
      if i - 1 >= 0 and not v[i - 1][j]:
          q.put((i - 1, j, x + 1))
          v[i - 1][j] = True
  
  
  for i in range(len(m)):
      for j in range(len(m[i])):
          if m[i][j] == "#":
              v = [[False for _ in range(w)] for _ in range(h)]
              q = Queue()
              v[i][j] = True
              put(i, j, 0, q, v)
              while not q.empty():
                  k, l, x = q.get()
                  if m[k][l] == "." or ord(m[k][l]) - ord("0") > x:
                      m[k][l] = chr(x + ord("0"))
                      put(k, l, x, q, v)
  c = None
  for i in m:
      for j in i:
          if j != "#" and (c is None or c < j):
              c = j
  print(c)
  
problem_description: Statement
  
  You are given a grid of squares with H horizontal rows and W vertical columns,
  where each square is painted white or black. HW characters from A_{11} to
  A_{HW} represent the colors of the squares. A_{ij} is `#` if the square at the
  i-th row from the top and the j-th column from the left is black, and A_{ij}
  is `.` if that square is white.
  
  We will repeatedly perform the following operation until all the squares are
  black:
  
    * Every white square that shares a side with a black square, becomes black.
  
  Find the number of operations that will be performed. The initial grid has at
  least one black square.
samples: [{"input": "3 3\n    ...\n    .#.\n    ...", "output": "2\n    \n\nAfter one operation, all but the corners of the grid will be black. After one\nmore operation, all the squares will be black.\n\n* * *"}, {"input": "6 6\n    ..#..#\n    ......\n    #..#..\n    ......\n    .#....\n    ....#.", "output": "3"}]