#include<bits/stdc++.h>
using namespace std;
const int N = 1e8 + 10;
int a[25];
int vis[N];
int n, k, ans = 0;
void init() {
for(int i = 1; i <= N; i ++) vis[i] = 1;
vis[0] = vis[1] = 0;
int m = sqrt(N) + 0.5;
for(int i = 2; i <= m; i ++) {
if(vis[i]) {
for(int j = i * i; j <= N; j += i) {
vis[j] = 0;
}
}
}
}
void dfs(int s, int m, int sum) {
if(m == k) {
if(vis[sum] = 1) ans ++;
return;
} else {
for(int i = s; i < n; i ++) {
dfs(i + 1, m + 1, sum + a[i]);
} return;
}
}
int main() {
cin >> n >> k;
for(int i = 1; i <= n; i ++) {
cin >> a[i];
}
init();
dfs(0, 0, 0);
cout << ans << endl;
return 0;
}