#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
//英语 看博友分析 抄博友程序 java没实现 数学 高精度计算 易超时 没掌握
#define inf 1000000000
long long a[10000],b[10000],c[10000];
int len1,len2,len3;
void jia()//b=a+1
{
int c=1;
for(int i=0;i<len1;i++)
{
if(a[i]+c==inf)
{
b[i]=0;
c=1;
}else
{
b[i]=a[i]+c;
c=0;
}
}
if(c==1)
{
b[len1]=c;
len2=len1+1;
}else
{
len2=len1;
}
}
void cheng()//ans=a*b
{
memset(c,0,sizeof(c));
long long r=0;
for(int i=0;i<len1;i++)
{
for(int j=0;j<len2;j++)
{
long long t=c[i+j]+r+a[i]*b[j];
len3=i+j;
if(t>inf)
{
r=t/inf;
t=t%inf;
}else
{
r=0;
}
c[i+j]=t;
}
if(r!=0)
{
c[len3+1]=c[len3+1]+r;
r=0;
len3=len3+2;
}else
{
len3=len3+1;
}
}
for(int i=0;i<len3;i++)//a=c
{
a[i]=c[i];
}
len1=len3;
/*
cout<<len3<<" a ";
for(int i=len3-1;i>=0;i--)
{
cout<<a[i];
}
cout<<endl;*/
}
int main()
{
//a[0]=999;
//len1=1;
//jia();
//cout<<b[0]<<endl;
int n;
cin>>n;
cout<<"2"<<endl;
a[0]=2;
len1=1;
for(int i=1;i<n;i++)
{
jia();
/*
for(int j=len2-1;j>=0;j--)
{
cout<<b[j];
}
cout<<endl;*/
printf("%lld", b[len2-1]);
for (int j = len2 - 2; j >= 0; j--)
{
printf("%.9lld", b[j]);//输出不能修改 没掌握
}printf("\n");
//cout<<len2<<endl;
cheng();
}
return 0;
}