***看的快吐血了也没看出哪儿错[崩溃.png]
#include <bits/stdc++.h>
using namespace std;
bool isPrime(int x) {
for (int i = 2; i * i <= x; ++i)
if (x % i == 0) return false;
return true;
}
int n, k;
int a[25];
long long ans;
void dfs(int m, int sum, int starts){
if(m == k) {
if (isPrime(sum))
ans++;
return ;
}
for(int i = starts; i < n; i++){
dfs(m + 1, sum + a[i], i + 1);
}
return ;
}
int main(){
scanf("%d%d", &n, &k);
for(int i = 0; i < k ; i++) cin >> a[i];
dfs(0, 0, 0);
printf("%d\n", ans);
return 0;
}