#include<stdio.h>

unsigned long fibonacci(int n){
    unsigned long f;
    int i;

    if(n < 0L)
        return(0L);
    else if(n == 0L || n == 1L)
        return(1L);
    else
        return fibonacci(n - 1) + fibonacci(n - 2);
}

int main(void){
    int n, m, a;
    int answer;
    int d = 0;
    scanf("%d %d", &n, &m);

    answer = fibonacci(n);



    for(i = 0; i < m; i++){
        scanf("%d", &a);
        d = fibonacci(n - a) * fibonacci(n - a - 1) - d;
        answer -= d;
    }

    printf("%lo", answer % 1000000007);

    return 0;
}

