#include <iostream>
using namespace std;
bool is[21];
int a[21],n,k,maxn=-1e9,ans=0;
long long sum=0;
bool isPrime(int n)
{
if(n<=1)
return false;
for(int i=2;i*i<=n;i++)
if(n%i==0)
return false;
return true;
}
void dfs(int begin,int m)
{
if(m==k&&isPrime(sum))
{
ans++;
sum=0;
return;
}
for(int i=begin;i<=n;i++)
if(!is[i])
{
sum+=a[i];
is[i]=true;
dfs(i+1,m+1);
sum-=a[i];
is[i]=false;
}
}
int main()
{
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
dfs(1,1);
printf("%d\n",ans);
return 0;
}