#include<bits/stdc++.h>
#define QWQ cin.tie(0)->sync_with_stdio(false);
using namespace std;
int a[] = {1, 3, 7, 9};
int n;
bitset<123456789> st, f;
int prime[123456789], cnt = 0;
void build_Prime(){
for(int i = 2; i <= 123456789; i++){
if(!st[i]){
prime[cnt++] = i;
f[i] = true;
}
for(int j = 0; prime[j] <= 123456789 / i; j++){
st[prime[j] * i] = true;
if(i % prime[j] == 0) break;
}
}
}
void dfs(int u, int sum){
int t = 0;
if(sum == n){
cout << u << endl;
return;
}
else{
for(int i = 0; i <= 3; i++){
t = u * 10 + a[i];
if(f[t]) dfs(t, sum + 1);
}
}
}
int main(){
QWQ
build_Prime();
cin >> n;
dfs(2, 1);
dfs(3, 1);
dfs(5, 1);
dfs(7, 1);
return 0;
}