#include <bits/stdc++.h>
using namespace std;
int tab[10000];
bool Perfect(int a) {
  int sum = 0;
  while (a > 0) {
    sum = sum + a % 10;
    a = a / 10;
    if (sum > 10) break;
  }
  if (sum == 10) return (true);
  return (false);
}
int main() {
  tab[0] = 19;
  int k;
  cin >> k;
  bool found = false;
  int count = 1, num = 20;
  while (k > 1 && !found) {
    if (Perfect(num) == false)
      num++;
    else {
      tab[count] = num;
      num++;
      count++;
      found = (count == k);
    }
  }
  cout << tab[k - 1];
  return 0;
}

### Prompt

Create a solution in cpp for the following problem:

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;
int tab[10000];
bool Perfect(int a) {
  int sum = 0;
  while (a > 0) {
    sum = sum + a % 10;
    a = a / 10;
    if (sum > 10) break;
  }
  if (sum == 10) return (true);
  return (false);
}
int main() {
  tab[0] = 19;
  int k;
  cin >> k;
  bool found = false;
  int count = 1, num = 20;
  while (k > 1 && !found) {
    if (Perfect(num) == false)
      num++;
    else {
      tab[count] = num;
      num++;
      count++;
      found = (count == k);
    }
  }
  cout << tab[k - 1];
  return 0;
}

```