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();
        int[] a = new int[N];
        Arrays.fill(a, 0);
        for(int i = 0; i < M; i++){
            int n = sc.nextInt();
            a[n-1] = -1;
        }
        long[] dp = new long[N+1];
        long mod = 1000000007;
        dp[0] = 1;
        if(a[0] == 0)
            dp[1] = 1;
        for(int i = 1; i < N; i++){
            dp[i+1] = (dp[i] + dp[i-1]) % mod;
            if(a[i] == -1)
                dp[i+1] = 0;
        }
        System.out.println(dp[N]);
        sc.close();
    }
} import java.util.*; util.* java public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int[] a = new int[N];
        Arrays.fill(a, 0);
        for(int i = 0; i < M; i++){
            int n = sc.nextInt();
            a[n-1] = -1;
        }
        long[] dp = new long[N+1];
        long mod = 1000000007;
        dp[0] = 1;
        if(a[0] == 0)
            dp[1] = 1;
        for(int i = 1; i < N; i++){
            dp[i+1] = (dp[i] + dp[i-1]) % mod;
            if(a[i] == -1)
                dp[i+1] = 0;
        }
        System.out.println(dp[N]);
        sc.close();
    }
} Main public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int[] a = new int[N];
        Arrays.fill(a, 0);
        for(int i = 0; i < M; i++){
            int n = sc.nextInt();
            a[n-1] = -1;
        }
        long[] dp = new long[N+1];
        long mod = 1000000007;
        dp[0] = 1;
        if(a[0] == 0)
            dp[1] = 1;
        for(int i = 1; i < N; i++){
            dp[i+1] = (dp[i] + dp[i-1]) % mod;
            if(a[i] == -1)
                dp[i+1] = 0;
        }
        System.out.println(dp[N]);
        sc.close();
    } main {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int[] a = new int[N];
        Arrays.fill(a, 0);
        for(int i = 0; i < M; i++){
            int n = sc.nextInt();
            a[n-1] = -1;
        }
        long[] dp = new long[N+1];
        long mod = 1000000007;
        dp[0] = 1;
        if(a[0] == 0)
            dp[1] = 1;
        for(int i = 1; i < N; i++){
            dp[i+1] = (dp[i] + dp[i-1]) % mod;
            if(a[i] == -1)
                dp[i+1] = 0;
        }
        System.out.println(dp[N]);
        sc.close();
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int M = sc.nextInt(); M sc.nextInt() sc.nextInt sc int[] a = new int[N]; a new int[N] N Arrays.fill(a, 0) Arrays.fill Arrays a 0 for(int i = 0; i < M; i++){
            int n = sc.nextInt();
            a[n-1] = -1;
        } int i = 0; int i = 0; i 0 i < M i M i++ i++ i {
            int n = sc.nextInt();
            a[n-1] = -1;
        } {
            int n = sc.nextInt();
            a[n-1] = -1;
        } int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc a[n-1] = -1 a[n-1] a n-1 n 1 -1 1 long[] dp = new long[N+1]; dp new long[N+1] N+1 N 1 long mod = 1000000007; mod 1000000007 dp[0] = 1 dp[0] dp 0 1 if(a[0] == 0)
            dp[1] = 1; a[0] == 0 a[0] a 0 0 dp[1] = 1 dp[1] dp 1 1 for(int i = 1; i < N; i++){
            dp[i+1] = (dp[i] + dp[i-1]) % mod;
            if(a[i] == -1)
                dp[i+1] = 0;
        } int i = 1; int i = 1; i 1 i < N i N i++ i++ i {
            dp[i+1] = (dp[i] + dp[i-1]) % mod;
            if(a[i] == -1)
                dp[i+1] = 0;
        } {
            dp[i+1] = (dp[i] + dp[i-1]) % mod;
            if(a[i] == -1)
                dp[i+1] = 0;
        } dp[i+1] = (dp[i] + dp[i-1]) % mod dp[i+1] dp i+1 i 1 (dp[i] + dp[i-1]) % mod (dp[i] + dp[i-1]) dp[i] dp i dp[i-1] dp i-1 i 1 mod if(a[i] == -1)
                dp[i+1] = 0; a[i] == -1 a[i] a i -1 1 dp[i+1] = 0 dp[i+1] dp i+1 i 1 0 System.out.println(dp[N]) System.out.println System.out System System.out dp[N] dp N sc.close() sc.close sc String args[] args public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int[] a = new int[N];
        Arrays.fill(a, 0);
        for(int i = 0; i < M; i++){
            int n = sc.nextInt();
            a[n-1] = -1;
        }
        long[] dp = new long[N+1];
        long mod = 1000000007;
        dp[0] = 1;
        if(a[0] == 0)
            dp[1] = 1;
        for(int i = 1; i < N; i++){
            dp[i+1] = (dp[i] + dp[i-1]) % mod;
            if(a[i] == -1)
                dp[i+1] = 0;
        }
        System.out.println(dp[N]);
        sc.close();
    }
} public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int[] a = new int[N];
        Arrays.fill(a, 0);
        for(int i = 0; i < M; i++){
            int n = sc.nextInt();
            a[n-1] = -1;
        }
        long[] dp = new long[N+1];
        long mod = 1000000007;
        dp[0] = 1;
        if(a[0] == 0)
            dp[1] = 1;
        for(int i = 1; i < N; i++){
            dp[i+1] = (dp[i] + dp[i-1]) % mod;
            if(a[i] == -1)
                dp[i+1] = 0;
        }
        System.out.println(dp[N]);
        sc.close();
    }
} Main
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();
        int[] a = new int[N];
        Arrays.fill(a, 0);
        for(int i = 0; i < M; i++){
            int n = sc.nextInt();
            a[n-1] = -1;
        }
        long[] dp = new long[N+1];
        long mod = 1000000007;
        dp[0] = 1;
        if(a[0] == 0)
            dp[1] = 1;
        for(int i = 1; i < N; i++){
            dp[i+1] = (dp[i] + dp[i-1]) % mod;
            if(a[i] == -1)
                dp[i+1] = 0;
        }
        System.out.println(dp[N]);
        sc.close();
    }
}
