#include <stdio.h>
#include <stdlib.h>
int mark[5000000], a[20], k, count=0, n;
int prime(int n)
{
int i, flag=1;
for(i=2; i*i<=n; i++)
{
if(n%i==0)
{
flag=0;
break;
}
}
return flag;
}
void dfs(int step, int sum)
{
int i;
if(step==k)
{
if(prime(sum))
count++;
return;
}
for(i=0; i<n; i++)
{
if(mark[a[i]]==0)
{
mark[a[i]]=1;
dfs(step+1, sum+a[i]);
mark[a[i]]=0;
}
}
}
int main()
{
int i, j;
scanf("%d%d", &n, &k);
for(i=0; i<n; i++)
scanf("%d", &a[i]);
dfs(0, 0);
printf("%d", count);
return 0;
}