#include<bits/stdc++.h>
using namespace std;
int n,a[11],ans[5005][11],tot1,tot2;
void dfs(int m){
if(m==11){
tot1=0;
for(int i=1;i<=10;i++){
tot1+=a[i];
}
if(tot1==n){
tot2++;
for(int i=1;i<=10;i++){
ans[tot2][i]=a[i];
}
}
return;
}
for(int i=1;i<=3;i++){
a[m]=i;
dfs(m+1);
}
}
int main(){
cin>>n;
if(n<=9){
cout<<"0";
return 0;
}
dfs(1);
cout<<tot2<<endl;
for(int i=1;i<=tot2;i++){
for(int u=1;u<=10;u++){
cout<<ans[i][u]<<" ";
}
cout<<endl;
}
return 0;
}