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: h, w = [int(i) for i in input().split()]
  grid = []
  white_num = 0
  search_queue = []
  
  for i in range(h):
      row = list(input())
      grid.append(row)
      white_num += row.count(".")
      for j, c in enumerate(row):
          if c == "#":
              search_queue.append([i, j])
  
  iter_num = 0
  direction = [[0, -1], [0, 1], [1, 0], [-1, 0]]
  while white_num > 0:
      iter_num += 1
      post_queue = []
      for point in search_queue:
          for d in direction:
              if not (0 <= point[0] + d[0] < w and 0 <= point[1] + d[1] < h):
                  continue
              if grid[point[0] + d[0]][point[1] + d[1]] == ".":
                  grid[point[0] + d[0]][point[1] + d[1]] = "#"
                  white_num -= 1
                  post_queue.append([point[0] + d[0], point[1] + d[1]])
      search_queue = post_queue.copy()
      # break
  
  print(iter_num)
  
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"}]