#include<bits/stdc++.h>
using namespace std;
long long m,n,q,s=1,s1=1,s2=1,s3=1;
long long a[1000000],p[1000000],dp[1000000];
void C(int x,int y,int z){
s=1;
s1=1;
s2=1;
for(int i=1;i<=y;i++){
s=s*i;
}
for(int i=1;i<=y-x;i++){
s1*=i;
}
for(int i=1;i<=x;i++){
s2*=i;
}
p[z]=s/s1/s2;
}
int main(){
cin>>n>>m;
q=n;
if(m==1){
cin>>a[1];
C(a[1],n,1);
cout<<p[1];
return 0;
}
for(int i=1;i<=m;i++){
cin>>a[i];
C(a[i],q,i);
q=q-a[i];
}
for(int i=1;i<=m;i++){
s3*=p[i];
// cout<<p[i]<<" ";
}
cout<<s3%10007;
return 0;
}