#include<stdio.h>
int a[10000];
int main()
{
int n,i,t,sum,l,m;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
if(n>=(i*i+3*i)/2&&n<=((i+1)*(i+1)+3*(i+1))/2)
{
t=i;
break;
}
}
sum=(i*i+3*i)/2;
l=n-sum;
for(i=0;i<t;i++)
{
a[i]=2+i;
}
for(i=0;i<l;i++)
{
if(i==t)
m=0;
m++;
a[t-m]++;
}
m=1;
for(i=0;i<t;i++)
{
printf("%d ",a[i]);
m*=a[i];
}
printf("\n%d",m);
return 0;
}