using namespace std;
int n,k;
int num=1;
int sum;
int ans=0;
int a[25];
//map<int,int> iss;
map<int,int> f;
/*void Era(int x){
is[1]=is[0]=1;
for(int i=1;i*i<=x;i++){
if(is[i]==0){
for(int j=i<<1;j<=x;j+=i){
is[j]=1;
}
}
}
}*/
bool isprime(int x){
if(x==2) return 1;
for(int i=2;i*i<=x;i++){
if(x%i==0) return false;
}
return true;
}
void dfs(int aa){
sum+=aa;
k--;
if(k==0){
if(isprime(sum)) {
ans++;
}
return;
}
for(int i=1;i<=n;i++){
if(!f[i]){
f[i]=1;
dfs(a[i]);
k++;
sum-=a[i];
f[i]=0;
}
}
}
int main (){
scanf("%d%d",&n,&k);
// int kk=k;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
for(int i=1;i<=n;i++){
f[i]=1;
dfs(a[i]);
f[i]=0;
}
printf("%d",ans);
return 0;
}