#include<bits/stdc++.h>
using namespace std;
int n;
int ans;
vector<vector<int> > a;
vector<int> lin;
void dfs(int step,int sum){
if(step==10){
if(sum==n){
a.push_back(lin);
ans++;
}
return;
}
for(int i=1;i<=min(3,n-sum);i++){
lin[step]=i;
dfs(step+1,sum+1);
}
return;
}
int main(){
cin>>n;
dfs(0,0);
lin.resize(10);
cout<<ans<<endl;
for(int i=0;i<ans;i++){
for(int j=0;j<10;j++){
cout<<a[i][j];
}
cout<<endl;
}
return 0;
}