#include<bits/stdc++.h>
using namespace std;
int a[5001]={0,0,0,0,0,0,0,0,0,0,1,10,55,210,615,1452,2850,4740,6765,8350,8953,8350,6765,4740,2850,1452,615,210,55,10,1};
void b(int n)
{
if(a[n]==0)return;
int i[10];
for(i[0]=1;i[0]<=3;i[0]++)
for(i[1]=1;i[1]<=3;i[1]++)
for(i[2]=1;i[2]<=3;i[2]++)
for(i[3]=1;i[3]<=3;i[3]++)
for(i[4]=1;i[4]<=3;i[4]++)
for(i[5]=1;i[5]<=3;i[5]++)
for(i[6]=1;i[6]<=3;i[6]++)
for(i[7]=1;i[7]<=3;i[7]++)
for(i[8]=1;i[8]<=3;i[8]++)
for(i[9]=1;i[9]<=3;i[9]++)
{
if(i[0]+i[1]+i[2]+i[3]+i[4]+i[5]+i[6]+i[7]+i[8]+i[9]==n)
{
printf("%d %d %d %d %d %d %d %d %d %d\n",i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9]);
}
}
return;
}
int main()
{
int n;
cin>>n;
printf("%d\n",a[n]);
b(n);
return 0;
}