#include <bits/stdc++.h>
int k, tot;
long long a[100005];
void dfs(long long x) {	
	if (x > 3234566667) return;
	a[++tot] = x;
	int lst = x % 10;
	for (int i = std::max(0, lst - 1); i <= std::min(9, lst + 1); ++i) dfs(x * 10 + i);
}
int main() {
	std::cin >> k;
	for (int i = 1; i <= 9; ++i) dfs((long long)i);
	std::sort(a + 1, a + tot + 1);
	std::cout << a[k] << '\n';
}
