#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];
	}





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

			}else{
				ans=ans*(a[i]-a[i-1]-2);
			}
		}
	}

	cout<<ans%1000000007;

	
}
