output_description: Print the answer modulo 10^{9}+7.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      N
attempt: s = input().split()
  h = int(s[0])
  w = int(s[1])
  s = []
  for i in range(h):
      s.append(input())
  
  for i in range(h):
      row = ""
      for j in range(w):
          cnt = 0
          if s[i][j] == "#":
              row += "#"
              continue
          if i > 0 and j > 0 and s[i - 1][j - 1] == "#":
              cnt += 1
          if i > 0 and s[i - 1][j] == "#":
              cnt += 1
          if i > 0 and j < w - 1 and s[i - 1][j + 1] == "#":
              cnt += 1
          if j > 0 and s[i][j - 1] == "#":
              cnt += 1
          if j < w - 1 and s[i][j + 1] == "#":
              cnt += 1
          if i < h - 1 and s[i + 1][j - 1] == "#":
              cnt += 1
          if i < h - 1 and s[i + 1][j] == "#":
              cnt += 1
          if i < h - 1 and j < w - 1 and s[i + 1][j + 1] == "#":
              cnt += 1
          row += str(cnt)
      print(row)
  
problem_description: Statement
  
  Snuke loves working out. He is now exercising N times.
  
  Before he starts exercising, his _power_ is 1. After he exercises for the i-th
  time, his power gets multiplied by i.
  
  Find Snuke's power after he exercises N times. Since the answer can be
  extremely large, print the answer modulo 10^{9}+7.
samples: [{"input": "3", "output": "6\n    \n\n  * After Snuke exercises for the first time, his power gets multiplied by 1 and becomes 1.\n  * After Snuke exercises for the second time, his power gets multiplied by 2 and becomes 2.\n  * After Snuke exercises for the third time, his power gets multiplied by 3 and becomes 6.\n\n* * *"}, {"input": "10", "output": "3628800\n    \n\n* * *"}, {"input": "100000", "output": "457992974\n    \n\nPrint the answer modulo 10^{9}+7."}]