#include<bits/stdc++.h>
using namespace std;
int n,k;
long long a[22],b[22],vis[22],j,s[110000],ans;
void dfs(int x){
if (x==k+1){
++j;
for (int i=1;i<=k;i++){
s[j]+=b[i];
}
return ;
}
for (int i=1;i<=n;i++){
if (vis[i]==false){
b[x]=a[i];
vis[i]=true;
dfs(x+1);
vis[i]=false;
}
}
}
int f (long long x){
if (x<=1) return 0;
if (x==2) return 1;
for (long long i=2;i<=sqrt(x);i++){
if (x%i==0) return 0;
}
return 1;
}
int main(){
cin>>n>>k;
for (int i=1;i<=n;i++){
cin>>a[i];
}
dfs(1);
ans=0;
sort(s+1,s+j+1);
for (int i=2;i<=j;i++){
if (s[i]!=s[i-1]&&f(s[i-1])==1){
ans++;
}
}
if (f(s[j])==1) ans++;
cout<<ans;
return 0;
}