import java.util.*;
public class Main {

  public static void main(String[] args) { 
      int MOD = 1000000007;
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] dp = new int[n+1];
      int m = sc.nextInt();
      for(int i = 0; i < m; i++)
        dp[sc.nextInt()] = -1;
      dp[0] = 1;
      if(dp[1] != -1)
        dp[1] = 1;
      for(int i = 2; i < dp.length; i++) {
        if(dp[i] == -1) continue;
        int prevPrev = dp[i-2] == -1 ? 0 : dp[i-2];
        int prev = dp[i-1] == -1 ? 0 : dp[i-1];
        dp[i] = (prevPrev + prev) % MOD;
      }

      System.out.println(dp[n]);
  }
} import java.util.*; util.* java public class Main {

  public static void main(String[] args) { 
      int MOD = 1000000007;
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] dp = new int[n+1];
      int m = sc.nextInt();
      for(int i = 0; i < m; i++)
        dp[sc.nextInt()] = -1;
      dp[0] = 1;
      if(dp[1] != -1)
        dp[1] = 1;
      for(int i = 2; i < dp.length; i++) {
        if(dp[i] == -1) continue;
        int prevPrev = dp[i-2] == -1 ? 0 : dp[i-2];
        int prev = dp[i-1] == -1 ? 0 : dp[i-1];
        dp[i] = (prevPrev + prev) % MOD;
      }

      System.out.println(dp[n]);
  }
} Main public static void main(String[] args) { 
      int MOD = 1000000007;
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] dp = new int[n+1];
      int m = sc.nextInt();
      for(int i = 0; i < m; i++)
        dp[sc.nextInt()] = -1;
      dp[0] = 1;
      if(dp[1] != -1)
        dp[1] = 1;
      for(int i = 2; i < dp.length; i++) {
        if(dp[i] == -1) continue;
        int prevPrev = dp[i-2] == -1 ? 0 : dp[i-2];
        int prev = dp[i-1] == -1 ? 0 : dp[i-1];
        dp[i] = (prevPrev + prev) % MOD;
      }

      System.out.println(dp[n]);
  } main { 
      int MOD = 1000000007;
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] dp = new int[n+1];
      int m = sc.nextInt();
      for(int i = 0; i < m; i++)
        dp[sc.nextInt()] = -1;
      dp[0] = 1;
      if(dp[1] != -1)
        dp[1] = 1;
      for(int i = 2; i < dp.length; i++) {
        if(dp[i] == -1) continue;
        int prevPrev = dp[i-2] == -1 ? 0 : dp[i-2];
        int prev = dp[i-1] == -1 ? 0 : dp[i-1];
        dp[i] = (prevPrev + prev) % MOD;
      }

      System.out.println(dp[n]);
  } int MOD = 1000000007; MOD 1000000007 Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int[] dp = new int[n+1]; dp new int[n+1] n+1 n 1 int m = sc.nextInt(); m sc.nextInt() sc.nextInt sc for(int i = 0; i < m; i++)
        dp[sc.nextInt()] = -1; int i = 0; int i = 0; i 0 i < m i m i++ i++ i dp[sc.nextInt()] = -1; dp[sc.nextInt()] = -1 dp[sc.nextInt()] dp sc.nextInt() sc.nextInt sc -1 1 dp[0] = 1 dp[0] dp 0 1 if(dp[1] != -1)
        dp[1] = 1; dp[1] != -1 dp[1] dp 1 -1 1 dp[1] = 1 dp[1] dp 1 1 for(int i = 2; i < dp.length; i++) {
        if(dp[i] == -1) continue;
        int prevPrev = dp[i-2] == -1 ? 0 : dp[i-2];
        int prev = dp[i-1] == -1 ? 0 : dp[i-1];
        dp[i] = (prevPrev + prev) % MOD;
      } int i = 2; int i = 2; i 2 i < dp.length i dp.length dp dp.length i++ i++ i {
        if(dp[i] == -1) continue;
        int prevPrev = dp[i-2] == -1 ? 0 : dp[i-2];
        int prev = dp[i-1] == -1 ? 0 : dp[i-1];
        dp[i] = (prevPrev + prev) % MOD;
      } {
        if(dp[i] == -1) continue;
        int prevPrev = dp[i-2] == -1 ? 0 : dp[i-2];
        int prev = dp[i-1] == -1 ? 0 : dp[i-1];
        dp[i] = (prevPrev + prev) % MOD;
      } if(dp[i] == -1) continue; dp[i] == -1 dp[i] dp i -1 1 continue; int prevPrev = dp[i-2] == -1 ? 0 : dp[i-2]; prevPrev dp[i-2] == -1 ? 0 : dp[i-2] dp[i-2] == -1 dp[i-2] dp i-2 i 2 -1 1 0 dp[i-2] dp i-2 i 2 int prev = dp[i-1] == -1 ? 0 : dp[i-1]; prev dp[i-1] == -1 ? 0 : dp[i-1] dp[i-1] == -1 dp[i-1] dp i-1 i 1 -1 1 0 dp[i-1] dp i-1 i 1 dp[i] = (prevPrev + prev) % MOD dp[i] dp i (prevPrev + prev) % MOD (prevPrev + prev) prevPrev prev MOD System.out.println(dp[n]) System.out.println System.out System System.out dp[n] dp n String[] args args public class Main {

  public static void main(String[] args) { 
      int MOD = 1000000007;
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] dp = new int[n+1];
      int m = sc.nextInt();
      for(int i = 0; i < m; i++)
        dp[sc.nextInt()] = -1;
      dp[0] = 1;
      if(dp[1] != -1)
        dp[1] = 1;
      for(int i = 2; i < dp.length; i++) {
        if(dp[i] == -1) continue;
        int prevPrev = dp[i-2] == -1 ? 0 : dp[i-2];
        int prev = dp[i-1] == -1 ? 0 : dp[i-1];
        dp[i] = (prevPrev + prev) % MOD;
      }

      System.out.println(dp[n]);
  }
} public class Main {

  public static void main(String[] args) { 
      int MOD = 1000000007;
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] dp = new int[n+1];
      int m = sc.nextInt();
      for(int i = 0; i < m; i++)
        dp[sc.nextInt()] = -1;
      dp[0] = 1;
      if(dp[1] != -1)
        dp[1] = 1;
      for(int i = 2; i < dp.length; i++) {
        if(dp[i] == -1) continue;
        int prevPrev = dp[i-2] == -1 ? 0 : dp[i-2];
        int prev = dp[i-1] == -1 ? 0 : dp[i-1];
        dp[i] = (prevPrev + prev) % MOD;
      }

      System.out.println(dp[n]);
  }
} Main
import java.util.*;
public class Main {

  public static void main(String[] args) { 
      int MOD = 1000000007;
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] dp = new int[n+1];
      int m = sc.nextInt();
      for(int i = 0; i < m; i++)
        dp[sc.nextInt()] = -1;
      dp[0] = 1;
      if(dp[1] != -1)
        dp[1] = 1;
      for(int i = 2; i < dp.length; i++) {
        if(dp[i] == -1) continue;
        int prevPrev = dp[i-2] == -1 ? 0 : dp[i-2];
        int prev = dp[i-1] == -1 ? 0 : dp[i-1];
        dp[i] = (prevPrev + prev) % MOD;
      }

      System.out.println(dp[n]);
  }
}