#include<bits/stdc++.h>
using namespace std;
const int M=22;
int i,j,m,n,a[M],ans,l=1,b[10000][M];
void dfs(int n,int sum){
if(sum<0) return;
if(n==11&&sum==0){
for(int j=1;j<=10;j++) b[l][j]=a[j];
l++;
return;
}
for(int i=1;i<=3;i++){
a[n]=i;
dfs(n+1,sum-i);
}
}
void dd(int n,int sum){
if(sum<0) return;
if(n==11&&sum==0){
for(int j=1;j<=10;j++) cout<<a[j]<<" ";
cout<<'\n';
return;
}
for(int i=1;i<=3;i++){
a[n]=i;
dd(n+1,sum-i);
}
}
int main(){
cin>>m;
dfs(1,m);
cout<<l-1<<'\n';
for(int j=1;j<l;j++) {
for(int i=1;i<=10;i++){
cout<<b[j][i]<<" ";
}
cout<<'\n';
}
return 0;
}