#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <bits/stdc++.h>
#include <math.h>
#include <string>
#include <cstring>
using namespace std;
//#define PI 3.1415926
bool isprime[2000010]={0};
int zhishu(long long n)
{
memset(isprime,true,sizeof(isprime));
isprime[1] = false;
for(int i = 2;i <= n;i++)
{
if(isprime[i])
{
for(int j = 2;j*i <= n;j++)
{
isprime[i*j] = false;
}
}
}
return 0;
}
int main()
{
long long n;
long long shuzu[10000010];
cin >> n;
zhishu(n);
for(int i = 1,j = 0;i <= n;i++)
{
if(isprime[i])
{
shuzu[j] = i;//这个地方无法给shuzu完成赋值
j+=1;
cout << i <<endl;
cout << shuzu[j] <<endl;
}
}
return 0;
}