#include<cstdio> #include<string> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int n,sum,cnt; int sel[11]; int res[10000][11]; bool flag; void DFS(int x){ if(x==11){ if(sum!=n) return ; cnt++; for(int i=1;i<=10;i++) res[cnt][i]=sel[i]; flag=true; return ; } for(int i=1;i<=3;i++){ sel[x]=i; sum+=i; DFS(x+1); sel[x]=0; sum-=i; } } int main(){ scanf("%d",&n); if(n<=9||n>30){ printf("0\n"); return 0; } DFS(1); printf("%d\n",cnt); for(int j=1;j<=cnt;j++){ for(int i=1;i<=10;i++) printf("%d ",res[j][i]); printf("\n"); } if(!flag) printf("0\n"); return 0; }