import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		boolean[] broken = new boolean[n];
		Arrays.fill(broken, false);
		int m = sc.nextInt();
		for (int i = 0; i < m; i++) {
			broken[sc.nextInt() - 1] = true;
		}
		sc.close();
		long mod = 1000000007;
		long now = 0;// いま
		long prev1 = 1;// いっこまえ
		long prev2 = 0;// にこまえ
		for (int i = 0; i < n; i++) {
			if (!broken[i]) {
				now = prev1 + prev2;
				now %= mod;
			} else {
				now = 0;
			}
			prev2 = prev1;
			prev2 %= mod;
			prev1 = now;
			prev1 %= mod;
		}
		System.out.println(now);
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		boolean[] broken = new boolean[n];
		Arrays.fill(broken, false);
		int m = sc.nextInt();
		for (int i = 0; i < m; i++) {
			broken[sc.nextInt() - 1] = true;
		}
		sc.close();
		long mod = 1000000007;
		long now = 0;// いま
		long prev1 = 1;// いっこまえ
		long prev2 = 0;// にこまえ
		for (int i = 0; i < n; i++) {
			if (!broken[i]) {
				now = prev1 + prev2;
				now %= mod;
			} else {
				now = 0;
			}
			prev2 = prev1;
			prev2 %= mod;
			prev1 = now;
			prev1 %= mod;
		}
		System.out.println(now);
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		boolean[] broken = new boolean[n];
		Arrays.fill(broken, false);
		int m = sc.nextInt();
		for (int i = 0; i < m; i++) {
			broken[sc.nextInt() - 1] = true;
		}
		sc.close();
		long mod = 1000000007;
		long now = 0;// いま
		long prev1 = 1;// いっこまえ
		long prev2 = 0;// にこまえ
		for (int i = 0; i < n; i++) {
			if (!broken[i]) {
				now = prev1 + prev2;
				now %= mod;
			} else {
				now = 0;
			}
			prev2 = prev1;
			prev2 %= mod;
			prev1 = now;
			prev1 %= mod;
		}
		System.out.println(now);
	} main {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		boolean[] broken = new boolean[n];
		Arrays.fill(broken, false);
		int m = sc.nextInt();
		for (int i = 0; i < m; i++) {
			broken[sc.nextInt() - 1] = true;
		}
		sc.close();
		long mod = 1000000007;
		long now = 0;// いま
		long prev1 = 1;// いっこまえ
		long prev2 = 0;// にこまえ
		for (int i = 0; i < n; i++) {
			if (!broken[i]) {
				now = prev1 + prev2;
				now %= mod;
			} else {
				now = 0;
			}
			prev2 = prev1;
			prev2 %= mod;
			prev1 = now;
			prev1 %= mod;
		}
		System.out.println(now);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc boolean[] broken = new boolean[n]; broken new boolean[n] n Arrays.fill(broken, false) Arrays.fill Arrays broken false int m = sc.nextInt(); m sc.nextInt() sc.nextInt sc for (int i = 0; i < m; i++) {
			broken[sc.nextInt() - 1] = true;
		} int i = 0; int i = 0; i 0 i < m i m i++ i++ i {
			broken[sc.nextInt() - 1] = true;
		} {
			broken[sc.nextInt() - 1] = true;
		} broken[sc.nextInt() - 1] = true broken[sc.nextInt() - 1] broken sc.nextInt() - 1 sc.nextInt() sc.nextInt sc 1 true sc.close() sc.close sc long mod = 1000000007; mod 1000000007 long now = 0; now 0 long prev1 = 1; prev1 1 long prev2 = 0; prev2 0 for (int i = 0; i < n; i++) {
			if (!broken[i]) {
				now = prev1 + prev2;
				now %= mod;
			} else {
				now = 0;
			}
			prev2 = prev1;
			prev2 %= mod;
			prev1 = now;
			prev1 %= mod;
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			if (!broken[i]) {
				now = prev1 + prev2;
				now %= mod;
			} else {
				now = 0;
			}
			prev2 = prev1;
			prev2 %= mod;
			prev1 = now;
			prev1 %= mod;
		} {
			if (!broken[i]) {
				now = prev1 + prev2;
				now %= mod;
			} else {
				now = 0;
			}
			prev2 = prev1;
			prev2 %= mod;
			prev1 = now;
			prev1 %= mod;
		} if (!broken[i]) {
				now = prev1 + prev2;
				now %= mod;
			} else {
				now = 0;
			} !broken[i] broken[i] broken i {
				now = prev1 + prev2;
				now %= mod;
			} now = prev1 + prev2 now prev1 + prev2 prev1 prev2 now %= mod now mod {
				now = 0;
			} now = 0 now 0 prev2 = prev1 prev2 prev1 prev2 %= mod prev2 mod prev1 = now prev1 now prev1 %= mod prev1 mod System.out.println(now) System.out.println System.out System System.out now String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		boolean[] broken = new boolean[n];
		Arrays.fill(broken, false);
		int m = sc.nextInt();
		for (int i = 0; i < m; i++) {
			broken[sc.nextInt() - 1] = true;
		}
		sc.close();
		long mod = 1000000007;
		long now = 0;// いま
		long prev1 = 1;// いっこまえ
		long prev2 = 0;// にこまえ
		for (int i = 0; i < n; i++) {
			if (!broken[i]) {
				now = prev1 + prev2;
				now %= mod;
			} else {
				now = 0;
			}
			prev2 = prev1;
			prev2 %= mod;
			prev1 = now;
			prev1 %= mod;
		}
		System.out.println(now);
	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		boolean[] broken = new boolean[n];
		Arrays.fill(broken, false);
		int m = sc.nextInt();
		for (int i = 0; i < m; i++) {
			broken[sc.nextInt() - 1] = true;
		}
		sc.close();
		long mod = 1000000007;
		long now = 0;// いま
		long prev1 = 1;// いっこまえ
		long prev2 = 0;// にこまえ
		for (int i = 0; i < n; i++) {
			if (!broken[i]) {
				now = prev1 + prev2;
				now %= mod;
			} else {
				now = 0;
			}
			prev2 = prev1;
			prev2 %= mod;
			prev1 = now;
			prev1 %= mod;
		}
		System.out.println(now);
	}
} Main
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		boolean[] broken = new boolean[n];
		Arrays.fill(broken, false);
		int m = sc.nextInt();
		for (int i = 0; i < m; i++) {
			broken[sc.nextInt() - 1] = true;
		}
		sc.close();
		long mod = 1000000007;
		long now = 0;// いま
		long prev1 = 1;// いっこまえ
		long prev2 = 0;// にこまえ
		for (int i = 0; i < n; i++) {
			if (!broken[i]) {
				now = prev1 + prev2;
				now %= mod;
			} else {
				now = 0;
			}
			prev2 = prev1;
			prev2 %= mod;
			prev1 = now;
			prev1 %= mod;
		}
		System.out.println(now);
	}
}
