#include <bits/stdc++.h>
// #pragma GCC optimize("O3, unroll-loops")
// #pragma GCC target("avx2,bmi,bmi2")
#define fast \
ios::sync_with_stdio(false); \
cin.tie(nullptr); \
cout.tie(nullptr);
#define fi first
#define se second
#define pr pair
#define ll long long
#define ull unsigned long long
#define db double
#define ln '\n'
using namespace std;
const string NAME = "test";
const ll maxn = 1e7 + 67;
/*-------------------------------------------------------------*/
bool check(ll num){
ll sum = 0;
while (num != 0)
{
sum += num % 10;
num /= 10;
}
return(sum == 10);
}
vector<ll> v;
void sang(){
for (ll i = 19; i <= maxn; i++)
{
if(check(i)) v.push_back(i);
}
}
int main()
{
fast;
sang();
/*
freopen((NAME + ".inp").c_str(), "r", stdin);
freopen((NAME + ".out").c_str(), "w", stdout);
*/
auto start = chrono::steady_clock::now();
int k;
cin >> k;
cout << v[k - 1];
auto end = chrono::steady_clock::now();
cerr << "h, Time = " << chrono::duration<double>(end - start).count() << " s\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Ci8vICNwcmFnbWEgR0NDIG9wdGltaXplKCJPMywgdW5yb2xsLWxvb3BzIikKLy8gICNwcmFnbWEgR0NDIHRhcmdldCgiYXZ4MixibWksYm1pMiIpCiNkZWZpbmUgZmFzdCAgICAgICAgICAgICAgICAgICAgIFwKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgXAogICAgY2luLnRpZShudWxscHRyKTsgICAgICAgICAgICBcCiAgICBjb3V0LnRpZShudWxscHRyKTsKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIHByIHBhaXIKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgZGIgZG91YmxlCiNkZWZpbmUgbG4gJ1xuJwp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBzdHJpbmcgTkFNRSA9ICJ0ZXN0IjsKY29uc3QgbGwgbWF4biA9IDFlNyArIDY3OwoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KYm9vbCBjaGVjayhsbCBudW0pewogICAgbGwgc3VtID0gMDsKICAgIHdoaWxlIChudW0gIT0gMCkKICAgIHsKICAgICAgICBzdW0gKz0gbnVtICUgMTA7CiAgICAgICAgbnVtIC89IDEwOwogICAgfQogICAgCiAgICByZXR1cm4oc3VtID09IDEwKTsKfQoKdmVjdG9yPGxsPiB2Owp2b2lkIHNhbmcoKXsKICAgIGZvciAobGwgaSA9IDE5OyBpIDw9IG1heG47IGkrKykKICAgIHsKICAgICAgICBpZihjaGVjayhpKSkgdi5wdXNoX2JhY2soaSk7CiAgICB9CiAgICAKfQppbnQgbWFpbigpCnsKICAgIGZhc3Q7CiAgICBzYW5nKCk7Ci8qCiAgICBmcmVvcGVuKChOQU1FICsgIi5pbnAiKS5jX3N0cigpLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oKE5BTUUgKyAiLm91dCIpLmNfc3RyKCksICJ3Iiwgc3Rkb3V0KTsKKi8KICAgIGF1dG8gc3RhcnQgPSBjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CgogICAgaW50IGs7CiAgICBjaW4gPj4gazsKCiAgICBjb3V0IDw8IHZbayAtIDFdOwoKICAgIGF1dG8gZW5kID0gY2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwogICAgY2VyciA8PCAiaCwgVGltZSA9ICIgPDwgY2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGVuZCAtIHN0YXJ0KS5jb3VudCgpIDw8ICIgc1xuIjsKfQo=