#include "stdio.h"
int main(){
int n,i,j,s,d,len,ji[5000]={0},len2,shu[5000]={0};
scanf("%d",&n);
ji[1]=1;
s=0;
len2=0;
len=1;
for (i=2;;i++){
s+=i;
if(s>n) break;
shu[i-1]=i;
len2++;
}
s-=i;
j=len2;
for (i=n;i>s;i--){
if(j<1) j=len2;
shu[j--]++;
}
for (i=1;i<=len2;i++){
d=0;
for (j=1;j<=len;j++){
ji[j]=ji[j]*shu[i]+d;
d=ji[j]/100;
ji[j]%=100;
}
if(d!=0){
len++;
ji[j]=d;
}
}
for (i=1;i<=len2;i++)
printf("%d ",shu[i]);
printf("\n");
for (i=len;i>=1;i--){
if(i==len)
printf("%d",ji[i]);
else
printf("%.2d",ji[i]);
}
}
int main(){
int n,i,j,s,d,len,ji[5000]={0},len2,shu[5000]={0};
scanf("%d",&n);
ji[1]=1;
s=0;
len2=0;
len=1;
for (i=2;;i++){
s+=i;
if(s>n) break;
shu[i-1]=i;
len2++;
}
s-=i;
j=len2;
for (i=n;i>s;i--){
if(j<1) j=len2;
shu[j--]++;
}
for (i=1;i<=len2;i++){
d=0;
for (j=1;j<=len;j++){
ji[j]=ji[j]*shu[i]+d;
d=ji[j]/100;
ji[j]%=100;
}
if(d!=0){
len++;
ji[j]=d;
}
}
for (i=1;i<=len2;i++)
printf("%d ",shu[i]);
printf("\n");
for (i=len;i>=1;i--){
if(i==len)
printf("%d",ji[i]);
else
printf("%.2d",ji[i]);
}
}
浙公网安备 33010602011771号