using namespace std;
int a[1000];
int main()
{
int n,i,j;
int count=0;
int m=0;
cin>>n;
for(i=2;m<n;i++)
{
a[count++]=i;
m+=i;
}
int loc=0;
if(m-n==1)
{
for(int i=0;i<count;i++)
a[i]=a[i+1];
count--;
a[count-1]+=1;
}
else
{
for(int i=0;i<count;i++)
if(a[i]==m-n)
loc=i;
for(int i=loc;i<count;i++)
a[i]=a[i+1];
count--;
}
int ans[100001]={1,1};
int t=0;
for(int j=0;j<count;j++)
{
cout<<a[j]<<" ";
}
cout<<endl;
for(j=0;j<count;j++)
{
for(int i=1;i<=ans[0];i++)
ans[i]*=a[j];
for(int i=1;i<=ans[0];i++)
{
ans[i+1]+=ans[i]/10;
ans[i]%=10;
}
if(ans[ans[0]+1]!=0) ans[0]++;
while(ans[ans[0]]>=10)
{
ans[ans[0]+1]=ans[ans[0]]/10;
ans[ans[0]]%=10;
ans[0]++;
}
}
for(int i=ans[0];i>=1;i--)
{
cout<<ans[i];
}
cout<<endl;
}