import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        long mod = 1000000007L;
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(), m = sc.nextInt();
        long[] S = new long[n + 1];
        S[0] = 1;
        S[1] = 1;
        for(int i = 0; i < m; i++) S[Integer.parseInt(sc.next())]--;
        for(int i = 2; i <= n; i++) {
            if(S[i] == -1) S[i] = 0;
            else S[i] = (S[i-1] + S[i-2]) % mod;
        }
        System.out.println(S[n]);
    }
} import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {
        long mod = 1000000007L;
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(), m = sc.nextInt();
        long[] S = new long[n + 1];
        S[0] = 1;
        S[1] = 1;
        for(int i = 0; i < m; i++) S[Integer.parseInt(sc.next())]--;
        for(int i = 2; i <= n; i++) {
            if(S[i] == -1) S[i] = 0;
            else S[i] = (S[i-1] + S[i-2]) % mod;
        }
        System.out.println(S[n]);
    }
} Main public static void main(String[] args) {
        long mod = 1000000007L;
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(), m = sc.nextInt();
        long[] S = new long[n + 1];
        S[0] = 1;
        S[1] = 1;
        for(int i = 0; i < m; i++) S[Integer.parseInt(sc.next())]--;
        for(int i = 2; i <= n; i++) {
            if(S[i] == -1) S[i] = 0;
            else S[i] = (S[i-1] + S[i-2]) % mod;
        }
        System.out.println(S[n]);
    } main {
        long mod = 1000000007L;
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(), m = sc.nextInt();
        long[] S = new long[n + 1];
        S[0] = 1;
        S[1] = 1;
        for(int i = 0; i < m; i++) S[Integer.parseInt(sc.next())]--;
        for(int i = 2; i <= n; i++) {
            if(S[i] == -1) S[i] = 0;
            else S[i] = (S[i-1] + S[i-2]) % mod;
        }
        System.out.println(S[n]);
    } long mod = 1000000007L; mod 1000000007L Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt() n sc.nextInt() sc.nextInt sc m = sc.nextInt(); m sc.nextInt() sc.nextInt sc long[] S = new long[n + 1]; S new long[n + 1] n + 1 n 1 S[0] = 1 S[0] S 0 1 S[1] = 1 S[1] S 1 1 for(int i = 0; i < m; i++) S[Integer.parseInt(sc.next())]--; int i = 0; int i = 0; i 0 i < m i m i++ i++ i S[Integer.parseInt(sc.next())]--; S[Integer.parseInt(sc.next())]-- S[Integer.parseInt(sc.next())] S Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc for(int i = 2; i <= n; i++) {
            if(S[i] == -1) S[i] = 0;
            else S[i] = (S[i-1] + S[i-2]) % mod;
        } int i = 2; int i = 2; i 2 i <= n i n i++ i++ i {
            if(S[i] == -1) S[i] = 0;
            else S[i] = (S[i-1] + S[i-2]) % mod;
        } {
            if(S[i] == -1) S[i] = 0;
            else S[i] = (S[i-1] + S[i-2]) % mod;
        } if(S[i] == -1) S[i] = 0;
            else S[i] = (S[i-1] + S[i-2]) % mod; S[i] == -1 S[i] S i -1 1 S[i] = 0 S[i] S i 0 S[i] = (S[i-1] + S[i-2]) % mod S[i] S i (S[i-1] + S[i-2]) % mod (S[i-1] + S[i-2]) S[i-1] S i-1 i 1 S[i-2] S i-2 i 2 mod System.out.println(S[n]) System.out.println System.out System System.out S[n] S n String[] args args public class Main {
    public static void main(String[] args) {
        long mod = 1000000007L;
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(), m = sc.nextInt();
        long[] S = new long[n + 1];
        S[0] = 1;
        S[1] = 1;
        for(int i = 0; i < m; i++) S[Integer.parseInt(sc.next())]--;
        for(int i = 2; i <= n; i++) {
            if(S[i] == -1) S[i] = 0;
            else S[i] = (S[i-1] + S[i-2]) % mod;
        }
        System.out.println(S[n]);
    }
} public class Main {
    public static void main(String[] args) {
        long mod = 1000000007L;
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(), m = sc.nextInt();
        long[] S = new long[n + 1];
        S[0] = 1;
        S[1] = 1;
        for(int i = 0; i < m; i++) S[Integer.parseInt(sc.next())]--;
        for(int i = 2; i <= n; i++) {
            if(S[i] == -1) S[i] = 0;
            else S[i] = (S[i-1] + S[i-2]) % mod;
        }
        System.out.println(S[n]);
    }
} Main
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        long mod = 1000000007L;
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(), m = sc.nextInt();
        long[] S = new long[n + 1];
        S[0] = 1;
        S[1] = 1;
        for(int i = 0; i < m; i++) S[Integer.parseInt(sc.next())]--;
        for(int i = 2; i <= n; i++) {
            if(S[i] == -1) S[i] = 0;
            else S[i] = (S[i-1] + S[i-2]) % mod;
        }
        System.out.println(S[n]);
    }
}
