#include <bits/stdc++.h>
using namespace std;





int main(){
	int N,M;
	
	cin>>N>>M;
	int ans=0;
	vector<int>a(M+1);

	for(int i =0;i<M;i++){
		cin>>a[i];
	}

	vector<int>F(101);
	F[0]=0;
	F[1]=1;
	F[2]=1;
	for(int i =3;i<100;i++){
		F[i]=F[i-1]+F[i-2];
	}



	for(int i =0;i<M;i++){
		if(i==0){
			ans=F[a[0]];
			
		}else if(i=M-1){			
				ans=ans*F[N-a[M-1]];
			}			
		}else{
				ans=ans*F[a[i]-a[i-1]-1];
			}
		}
	}

	for(int i =1;i<M;i++){
		if(a[i]-a[i-1]==1) ans=0;
	}
	cout<<ans%1000000007;

	
}
