#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int len =0;
int a[1000];
void dfs(int deep){
if(deep<0){
return;
}
if(deep==0){
for(int i=0;i<len;i++){
cout<<a[i]<<" ";
}
cout<<endl;
return ;
}
for(int i=1;i<=2;i++){
a[len]=i;
len++;
dfs(deep-i);
len--;
}
}
main()
{
int s;
while(cin>>s)
{
memset(a,0,sizeof(a));
dfs(s);
}
}
#include<string.h>
#include<algorithm>
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int len =0;
int a[1000];
void dfs(int deep){
if(deep<0){
return;
}
if(deep==0){
for(int i=0;i<len;i++){
cout<<a[i]<<" ";
}
cout<<endl;
return ;
}
for(int i=1;i<=2;i++){
a[len]=i;
len++;
dfs(deep-i);
len--;
}
}
main()
{
int s;
while(cin>>s)
{
memset(a,0,sizeof(a));
dfs(s);
}
}