#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 30;
int num[N];
int state[N];//-1表示没选,其余代表选了那个数
int n, k;
int cnt;
void dfs(int depth, int start){//组合类型枚举
if(depth > k){//已经选了k个数,递归截止,开始判断搜索到的结果是否符合题意
int sum = 0;
for(int i = 1; i <= k; i++){//求和
sum += state[i];
}
bool flag = true;
for(int i = 2; i <= sum - 1; i++){//判断其和是否为素数
if(sum % i == 0){
flag = false;
break;
}
}
if(flag == true){//如果是素数则计数加一
cnt++;
}
return;
}
for(int i = start; i <= n; i++){
state[depth] = num[i];//递归到下一层
dfs(depth + 1, i + 1);
state[depth] = -1;//恢复现场
}
}
int main(){
memset(state, -1, sizeof state);
cin >> n >