#include <iostream>
#include <cmath>
using namespace std;
int n, ans;
int a[20], flag[20];
bool prime(int num){
if(num<=1){
return false;
}
for(int i=2;i<=sqrt(num);i++){
if(num%i==0){
return false;
}
}
return true;
}
void dfs(int x){
//cout << "a[" << x << "]=" << a[x] << endl;
if(x==n+2){
ans++;
return;
}
for(int i=2;i<=n;i++){
a[x]=i;
a[n+1]=1;
if(prime(a[x]+a[x-1])!=true||(flag[i]==1&&x<=n)){ //problem over here(it sucks)
continue;
}
flag[i]=1;
dfs(x+1);
flag[i]=0;
}
}
int main() {
cin >> n;
a[1]=1;
flag[1]=0;
dfs(2);
cout << ans << endl;
return 0;
}
/*
#include <iostream>
using namespace std;
int main(){
int n, a[15]={0, 1, 1, 0, 2, 0, 2, 0, 4, 0, 96}; cin >> n;
cout << a[n] << endl;
return 0;
}
*/
玄关, 调就行了