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: import sys
  import collections
  
  ns = lambda: sys.stdin.readline().rstrip()
  ni = lambda: int(ns())
  nm = lambda: map(int, sys.stdin.readline().split())
  nl = lambda: list(nm())
  nsm = lambda: map(str, sys.stdin.readline().split())
  nsl = lambda: list(ns())
  
  h, w = nm()
  lis = [nsl() for _ in range(h)]
  nextij = [(-1, 0), (0, -1), (1, 0), (0, 1)]
  q1 = collections.deque()
  q2 = collections.deque()
  
  for i in range(len(lis)):
      for j in range(len(lis[i])):
          if lis[i][j] == "#":
              q1.append((i, j))
  count = 0
  while len(q1) != 0 or len(q2) != 0:
      if count % 2 == 0:
          q2 = collections.deque()
          while len(q1) != 0:
              x, y = q1.pop()
              for xx, yy in nextij:
                  if 0 <= x + xx <= w - 1 and 0 <= y + yy <= h - 1:
                      if lis[y + yy][x + xx] == ".":
                          lis[y + yy][x + xx] = "#"
                          q2.append((y + yy, x + xx))
          if len(q2) == 0:
              print(count)
              exit()
      else:
          q1 = collections.deque()
          while len(q2) != 0:
              x, y = q2.pop()
              for xx, yy in nextij:
                  if 0 <= x + xx <= w - 1 and 0 <= y + yy <= h - 1:
                      if lis[y + yy][x + xx] == ".":
                          lis[y + yy][x + xx] = "#"
                          q1.append((y + yy, x + xx))
          if len(q1) == 0:
              print(count)
              exit()
      count += 1
  
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"}]