output_description: Print the number of ways to climb up the stairs under the condition, modulo 1\
  000\ 000\ 007.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N M
      a_1
      a_2
       .
       .
       .
      a_M
attempt: import sys
  
  inputs = sys.stdin.readline
  
  
  def main():
      ans = 1
      a = 0
      b = 0
      flg2 = 0
      N, M = map(int, inputs().split())
      A = [0] * (M + 1)
      for i in range(M):
          a = int(inputs())
          A[i] = a - 1 - b
          b = a + 1
      A[M] = N - b
      A.sort()
      if A[0] < 0:
          print(0)
          flg2 = 1
      p = 1
      q = 1
      t = 0
      flg = 0
      while A[t] < 2:
          t = t + 1
          if t > M:
              print(0)
              flg2 = 1
      for k in range(2, N + 1):
          r = p + q
          p = q
          q = r
          while A[t] == k:
              ans = ans * r % 1000000007
              t += 1
              if t == M + 1:
                  flg = 1
                  break
          if flg == 1:
              break
      if flg2 == 0:
          print(ans % 1000000007)
  
  
  main()
  
problem_description: Statement
  
  There is a staircase with N steps. Takahashi is now standing at the foot of
  the stairs, that is, on the 0-th step. He can climb up one or two steps at a
  time.
  
  However, the treads of the a_1-th, a_2-th, a_3-th, \ldots, a_M-th steps are
  broken, so it is dangerous to set foot on those steps.
  
  How many are there to climb up to the top step, that is, the N-th step,
  without setting foot on the broken steps? Find the count modulo 1\ 000\ 000\
  007.
samples: [{"input": "6 1\n    3", "output": "4\n    \n\nThere are four ways to climb up the stairs, as follows:\n\n  * 0 \\to 1 \\to 2 \\to 4 \\to 5 \\to 6\n  * 0 \\to 1 \\to 2 \\to 4 \\to 6\n  * 0 \\to 2 \\to 4 \\to 5 \\to 6\n  * 0 \\to 2 \\to 4 \\to 6\n\n* * *"}, {"input": "10 2\n    4\n    5", "output": "0\n    \n\nThere may be no way to climb up the stairs without setting foot on the broken\nsteps.\n\n* * *"}, {"input": "100 5\n    1\n    23\n    45\n    67\n    89", "output": "608200469\n    \n\nBe sure to print the count modulo 1\\ 000\\ 000\\ 007."}]