#include <bits/stdc++.h>
using namespace std;
const int maxn = 10005;
using namespace std;
int cnt = 0;
int b[maxn];
void panduan(int N) {
  for (long long i = 18;; i++) {
    long long sum = 0;
    long long d = i;
    long long c;
    while (d != 0) {
      c = d % 10;
      sum = sum + c;
      d = d / 10;
    }
    if (sum == 10) {
      b[cnt++] = i;
    }
    if (cnt == N) break;
  }
}
int main() {
  int N;
  cin >> N;
  panduan(N);
  printf("%d\n", b[N - 1]);
}

### Prompt

Develop a solution in CPP to the problem described below:

We consider a positive integer perfect, if and only if the sum of its digits is exactly 10. Given a positive integer k, your task is to find the k-th smallest perfect positive integer.

Input

A single line with a positive integer k (1 ≤ k ≤ 10 000).

Output

A single number, denoting the k-th smallest perfect integer.

Examples

Input

1


Output

19


Input

2


Output

28

Note

The first perfect integer is 19 and the second one is 28.

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
const int maxn = 10005;
using namespace std;
int cnt = 0;
int b[maxn];
void panduan(int N) {
  for (long long i = 18;; i++) {
    long long sum = 0;
    long long d = i;
    long long c;
    while (d != 0) {
      c = d % 10;
      sum = sum + c;
      d = d / 10;
    }
    if (sum == 10) {
      b[cnt++] = i;
    }
    if (cnt == N) break;
  }
}
int main() {
  int N;
  cin >> N;
  panduan(N);
  printf("%d\n", b[N - 1]);
}

```