output_description: Print an integer representing the number of choices of rows and columns
  satisfying the condition.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      H W K
      c_{1,1}c_{1,2}...c_{1,W}
      c_{2,1}c_{2,2}...c_{2,W}
      :
      c_{H,1}c_{H,2}...c_{H,W}
attempt: k = int(input())
  n = 0
  for i in range(1, k):
      n = n * 10 + 7
      n = n % k
      if n == 0:
          print(i)
          break
  
problem_description: Statement
  
  We have a grid of H rows and W columns of squares. The color of the square at
  the i-th row from the top and the j-th column from the left (1 \leq i \leq H,
  1 \leq j \leq W) is given to you as a character c_{i,j}: the square is white
  if c_{i,j} is `.`, and black if c_{i,j} is `#`.
  
  Consider doing the following operation:
  
    * Choose some number of rows (possibly zero), and some number of columns (possibly zero). Then, paint red all squares in the chosen rows and all squares in the chosen columns.
  
  You are given a positive integer K. How many choices of rows and columns
  result in exactly K black squares remaining after the operation? Here, we
  consider two choices different when there is a row or column chosen in only
  one of those choices.
samples: [{"input": "2 3 2\n    ..#\n    ###", "output": "5\n    \n\nFive choices below satisfy the condition.\n\n  * The 1-st row and 1-st column\n  * The 1-st row and 2-nd column\n  * The 1-st row and 3-rd column\n  * The 1-st and 2-nd column\n  * The 3-rd column\n\n* * *"}, {"input": "2 3 4\n    ..#\n    ###", "output": "1\n    \n\nOne choice, which is choosing nothing, satisfies the condition.\n\n* * *"}, {"input": "2 2 3\n    ##\n    ##", "output": "0\n    \n\n* * *"}, {"input": "6 6 8\n    ..##..\n    .#..#.\n    #....#\n    ######\n    #....#\n    #....#", "output": "208"}]