#include<bits/stdc++.h>
using namespace std;
void cai(int n,int a[]){
int m=0,i;
for(i=2;i<n;i++){
a[i]=i;
m+=i;
if(m>n) break;
}
if(m-n==1){
a[i]=0;
i++;
a[i]=i;
a[2]=0;
}else a[m-n]=0;
}
void chen(int a,int m[]){
int mm[100000]={0},x;
for(x=99999;x>0;x--){
mm[x]+=m[x]*a%10;
mm[x-1]+=m[x]*a/10;
if(mm[x-1]>=10) {
mm[x-2]+=mm[x-1]/10;
mm[x-1]=mm[x-1]%10;
}
}
for(x=99999;x>0;x--){
m[x]=mm[x];
}
}
int main(){
int n,m[100000]={0},i,j,k,a[200]={0};
cin>>n;
if(n==3) {
cout<<1<<" "<<2<<endl;
cout<<2;
return 0;
}
if(n==4) {
cout<<1<<" "<<3<<endl;
cout<<3;
return 0;
}
cai(n,a);
m[99999]=1;
for(i=2;i<200;i++) if(a[i]!=0) chen(a[i],m);
if(a[2]!=0) cout<<a[2]; else {
cout<<a[3];
a[3]=0;
}
for(i=3;i<200;i++) if(a[i]!=0) cout<<" "<<a[i];
cout<<endl;
j=0;
while(m[j]==0){
j++;
}
for(;j<100000;j++) cout<<m[j];
return 0;
}