#include <iostream>
#include <string.h>
#include <algorithm>
using namespace std;
typedef long long ll;
ll ans[1000000];
ll getnum5(ll a[]){
return a[0]*10000+a[1]*1000+a[2]*100+a[3]*10+a[4]*1;
}
ll getnum6(ll a[]){
return a[0]*100000+a[1]*10000+a[2]*1000+a[3]*100+a[4]*10+a[5]*1;
}
int main()
{
ll a;
cin>>a;
ll temp5[5];
ll temp6[6];
ll num=0;
for(ll i=0; i<=9; i++){
if((a-i)%2==0){
temp5[2]=i;
ll temp=(a-i)/2;
for (ll j=1; j<=temp&&j<=9; j++){
if(temp-j<=9){
temp5[0]=j;
temp5[1]=temp-j;
temp5[3]=temp5[1];
temp5[4]=temp5[0];
ans[num++]=getnum5(temp5);
}
}
}
}
if(a%2==0){
ll temp=a/2;
for(ll i=1; i<=9; i++)
for (ll j=0; j<=9; j++){
if (temp-i-j>=0&&temp-i-j<=9){
temp6[0]=i;
temp6[1]=j;
temp6[2]=temp-i-j;
temp6[3]=temp6[2];
temp6[4]=temp6[1];
temp6[5]=temp6[0];
ans[num++]=getnum6(temp6);
}
}
}
sort(ans,ans+num);
for(ll i=0; i<num; i++)cout<<ans[i]<<endl;
return 0;
}
01-10