#include "stdio.h" int a[11],b[11];
int k,flag,n,s; void DFS(); int main()
{ int i;
while(scanf("%d",&n),n)
{
flag=0;
a[0]=1;
k=0; s=10;
DFS();
printf("%d",b[0]);
for(i=1;i<=s;i++)
printf(" %d",b[i]);
printf("\n");
}
return 0;
} void DFS()
{
int i;
if(a[k]==n)
{
if(k<s)
{
for(i=0;i<=k;i++)
b[i]=a[i];
s=k;
}
return ;
}
else if(k>=s || a[k]>n)
return ;
for( i=k; i>=0; --i )
{
k++;
a[k]=a[k-1]+a[i];
DFS();
k--;
}
}