#include<iostream>
#include<cstdio>
#include<cmath>
int n,k,a[21],ads=0;
bool vis[21];
bool isprime(int x){
int f=sqrt(x);
for(int i=1;i<=f;i++){
if(x%i==0)return false;
}
return true;
}
void dfs(int deep,int ans){
if(deep>k){
if(isprime(ans)){
ads++;
return;
}
}
for(int i=1;i<=n;i++){
if(!vis[i]){
int t=a[i]+ans;
vis[i]=1;
dfs(deep+1,t);
vis[i]=0;
}
}
}
using namespace std;
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
dfs(1,0);
printf("%d",ads);
return 0;
}