#include<bits/stdc++.h> using namespace std; int a[30]; int b[30]; int n,k; int ans=0; int check(int x) { if(x<2) { return 0; } for(int i=2;i*i<=x;i++) { if(x%i==0) { return 0; } } return 1; } int sum;
#include<bits/stdc++.h>
using namespace std;
int a[30];
int b[30];
int n,k;
int ans=0;
int check(int x)
{
if(x<2)
{
return 0;
}
for(int i=2;i*i<=x;i++)
{
if(x%i==0)
{
return 0;
}
}
return 1;
}
int sum;
void dfs(int x,int t)
{
if(x>=k)
{
if(check(sum)==1)
ans++;
return ;
}
for(int i=t;i<=n;i++)
{
if(b[i]==0)
{
sum+=a[i];
b[i]=1;
dfs(x+1,i+1);
b[i]=0;
sum-=a[i];
}
}
}
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
dfs(1,1);
cout<<ans<<endl;
return 0;
}
int main() { cin>>n>>k; for(int i=1;i<=n;i++) { cin>>a[i]; } dfs(1,1); cout<<ans<<endl; return 0; }