#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<cstdio>
using namespace std;
int n,k;
int s[30];
bool isUse[5000010];
bool Sushu(int d){
if(d==1)return false;
else if(d==2)return true;
else{
for(int i=2;i<=sqrt(d);i++){
if(d%i==0)return false;
}
return true;
}
}
int sum=0;
bool isuse2[50000010];
void dfs(int a,int m){
if(a>k){
if(Sushu(m)==true&&isuse2[m]==false){
sum++;
isuse2[m]=true;
}
}
else{
for(int i=1;i<=n;i++){
if(isUse[s[i]]==false){
isUse[s[i]]=true;
dfs(a+1,m+s[i]);
isUse[s[i]]=false;
}
}
}
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>s[i];
}
dfs(1,0);
cout<<sum;
return 0;
}