#include<bits/stdc++.h>
using namespace std;
int n;
int ans[20];
int all[6000][6000];
int xx=0;
void dfs(int dep,int sum){
if(sum>n) return;
if(dep==11&&sum==n){
xx++;
for(int i=1;i<=10;i++) all[xx][i]=ans[i];
return;
}
for(int i=1;i<=3;i++){
if(sum+i>n) break;
ans[dep]=i;
sum+=i;
dfs(dep+1,sum);
sum-=i;
ans[dep]=0;
}
}
int main(){
cin>>n;
dfs(1,0);
if(xx==0){
cout<<0;return 0;
}
cout<<xx<<endl;
for(int i=1;i<=xx;i++){
for(int j=1;j<=10;j++) printf("%d ",all[i][j]);
cout<<endl;
}
return 0;
}