#include<bits/stdc++.h>
using namespace std;
//p1036 [NOIP2002 普及组] 选数
int n,k,ans;
int a[50];
bool isprime(int a){
//判断素数
for(int i=2;i<=sqrt(a);i++){
if(a%i==0)
return false;
}
return true;
}
void dfs(int m,int sum,int t){
//m:当前搜索个数 sum:当前求和 t:当前a[]角标
//t是关键,他决定了循环次数,避免了重复选择
if(m==k){
if(isprime(sum))
ans++;
return;
}
for(int i=t;i<n;i++){
dfs(m+1,sum+a[i],i+1);
}
}
int main(){
cin>>n>>k;
for(int i=0;i<n;i++){
cin>>a[i];
}
dfs(0,0,0);
cout<<ans;
}