#include<bits/stdc++.h>
using namespace std;
int num[22],arr2[22];//arr2[]:记录组合,arr[]的实参
int n,k,ans,i;//
void prime(int);
void dfs(int x,int s)//x:枚举到的位置,s:从哪个数开始枚举
{
if(x>k)
{
prime(arr2[22]);
}
for(i=1;i<=s;i++)
{
arr2[x]=i;
dfs(x+1,i+1);
}
}
void prime(int arr[22])
{
int sum=0,a,b=2;
for(int j=1;j<=i;i++)
sum+=arr[j];
a=floor(sqrt(sum));
while(b<=a&&sum%b!=0)//判断素数
b++;
if(b>a) ans++;
}
int main(){
scanf("%d %d",&n,&k);
for(int j=1;j<=n;j++)
scanf("%d",&num[j]);
dfs(1,1);
cout<<ans;
return 0;
}