import java.lang.reflect.Array;
import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt(); 
    int M = sc.nextInt(); 
    boolean b[] = new boolean[N+1]; 
    long dp[] = new long[N+1];

    Arrays.fill(b,true);
    for(int i = 0; i < M; i++){
      int tmp = sc.nextInt();  
      b[tmp]= false; 
    }
    dp[0] = 1;
    if(b[1]==true){
      dp[1] = 1;
    }else{
      dp[1] = 0;
    }
    for(int i = 2; i < N+1; i++){
      if(b[i]==true){
        dp[i] = (dp[i-1] + dp[i-2])%1000000007; 
      }else{
        dp[i] = 0; 
      }
    }  
    System.out.println(dp[N]);      
  }
}



/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz