#include<bits/stdc++.h>
#pragma optimize(3)
#pragma optimize(2)
using namespace std;
long long x,y,z,a[32769]={0},b[32],c[32769]={1},i=0,j=1,k=0,n,m,sum=0,num=0,r,t,s=0;
long long flag[32769]={0};
char ch,bb;
long double cc;
string aa;
bool sushu(long long a)
{
if(a==0||a==1)
{
return 0;
}
if(a==2)
{
return 1;
}
for(j=2;j<=sqrt(a);j++)
{
if(a%j==0)
{
return false;
}
}
return true;
}
void dfs(int i)
{
if(i>k)
{
for(int t=1;t<=k;t++)
s+=a[t];
if(sushu(s)==true)
{
sum++;
}
return;
}
for(int j=c[i];j<=n;j++)
{
if(flag[b[j]]==0)
{
a[i]=b[j];
c[i]=j;
flag[b[j]]=1;
dfs(i+1);
flag[b[j]]=0;
}
}
return;
}
int main()
{
for(i=1;i<32769;i++)
{
c[i]=1;
}
cin>>n>>k;
for(i=1;i<=n;i++)
{
cin>>b[i];
}
dfs(1);
cout<<sum;
return 0;
}
rt,请各位神犇帮一下本蒟蒻谢谢!!悬棺