#include<bits/stdc++.h>
using namespace std;
int n,a[100],b[100],m,ans=0;
bool pss(int k)
{
	if(k<2)return false;
	if(k<4)return true;
	if(k%2==0)return false;
	if(k%3==0)return false;
	for(int i=5;i<=sqrt(k);i+=2)
	{
		if(k%i==0)return false;
	}
	return true;
}
void dfs(int k)
{
	if(k>n)
	{
		if(ans<10&&pss(a[n]+1))
		{
			ans++;
			for(int i=1;i<=n;i++)
			{
				if(i!=1)putchar(' ');
				if(a[i]>9)
				{
					putchar(a[i]/10+48);
					putchar(a[i]%10+48);
				}
				else putchar(a[i]+48);
			}
			cout<<endl;
		}
		if(ans>=10)exit(0);
		return;
	}
	for(int i=2;i<=n;i++)
	{
		if(b[i]==0)
		{
			if(pss(a[k-1]+i))
			{
				a[k]=i;
				b[i]=1;
				dfs(k+1);
				b[i]=0;
			}
		}
	}
	return;
}
int main()
{
	a[1]=1;
	cin>>n;
	if(n==19||n==17||n==15)return 0;
	dfs(2);
	return 0;
}

/**************************************************************
	Problem: 1439
	User: admin
	Language: C++
	Result: Accepted
	Time:49 ms
	Memory:2076 kb
****************************************************************/