dfs
#include<bits/stdc++.h>
using namespace std;
int n,m,a[10000],ans,cnt;
int x[10000];
bool f[10000];
bool ss(int sb){
if(sb<=1)return 0;
for(int i=2;i<=sqrt(sb);i++){
if(sb%i==0){
return 0;
}
}
return 1;
}
void dfs(int h){
if(h>m){
ans=0;
for(int i=1;i<=m;i++){
ans+=x[i];
}
if(ss(ans)){
cnt++;
}
}
else{
for(int i=1;i<=n;i++){
if(!f[i]&&a[i]>x[h-1]){
x[h]=a[i];
f[i]=1;
dfs(h+1);
f[i]=0;
}
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+1+n);
dfs(1);
cout<<cnt;
return 0;
}