#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int x[20];
bool is_Prime(int p)
{
if (p==2||p==3) return true;
if(p%2==0) return false;
int k=sqrt(p);
for(int i = 3; i <=k ; i+=2)
if (p%i==0) return false;
return true;
}
long int frac(int n)
{
long int s=1;
for (int i = 1; i <=n; i++)
s*=i;
return s;
}
int main()
{
int n,k,s,num=0;
int a[25];
for (int i = 0; i < n; i++)a[i]=i;//自然排列
cin>>n>>k;
for (int i = 0; i < n; i++) scanf("%d",&x[i]);
sort(x,x+n);
do
{
s=0;
for (int i = 0; i < k; i++)s+=x[a[i]];
if (is_Prime(s)) num++;
} while (next_permutation(a,a+n));
num/=frac(k);//除去重复的k!次
cout<<num;
return 0;
}