#include <iostream>
using namespace std;
int n, ans[35];
bool vis[35], isprime[105];
void init()
{
for (int i = 2; i <= 10; i++)
if (!isprime[i])
for (int j = i * i; j <= 100; j += i)
if (!isprime[j])
isprime[j] = true;
}
void dfs(int x, int d) // 当前数字是x,当前数字是素数环的第d项
{
if (d == n && !isprime[ans[1] + ans[n]])
{
for (int i = 1; i <= n; i++)
cout << ans[i] << " ";
exit(0); // 结束程序
}
for (int i = 1; i <= n; i++)
{
if (!vis[i] && !isprime[i + x])
{
ans[d + 1] = i;
vis[i] = true;
dfs(i, d + 1);
vis[i] = false;
}
}
}
int main()
{
init();
cin >> n;
for (int i = 1; i <= n; i++)
{
ans[1] = i;
vis[i] = true;
dfs(i, 1);
vis[i] = false;
}
return 0;
}