#include<iostream>
#include<string>
#include<cstring>
#include<cstdio>
using namespace std;
long long b[21],numb = 0;
long long sushu(long long a){
if (a == 1||a == 2){
return false;
}
for (int i = 2;i <= a - 1;i++){
if (a % i == 0){
return true;
}
}
return false;
}
long long k,n,n1,k1,x[21],ans = 0,num = 1;
void dfs(long long idx,long long num,long long sum){
if (num == 0){
if (sushu(sum)) ans++;
return;
}
if (n - idx + 1 < num){
return;
}
for (int i = idx;i <= n; i++){
dfs(i + 1,num - 1,sum + x[i]);
}
return;
}
int main(){
cin >> n >> k;
for (int i = 1;i <= n;i++){
cin >> x[i];
}
dfs (1,n,0);
cout << ans;
return 0;
}
#include #include #include #include using namespace std;
long long b[21],numb = 0;
long long sushu(long long a){
if (a == 1||a == 2){
return false;
}
for (int i = 2;i <= a - 1;i++){
if (a % i == 0){
return true;
}
}
return false;
}
long long k,n,n1,k1,x[21],ans = 0,num = 1;
void dfs(long long idx,long long num,long long sum){
if (num == 0){
if (sushu(sum)) ans++;
return;
}
if (n - idx + 1 < num){
return;
}
for (int i = idx;i <= n; i++){
dfs(i + 1,num - 1,sum + x[i]);
}
return;
}
int main(){
cin >> n >> k;
for (int i = 1;i <= n;i++){
cin >> x[i];
}
dfs (1,n,0);
cout << ans;
return 0;
}