import sys # input = sys.stdin.readline #input = sys.stdin.buffer.readline #文字列はダメ #sys.setrecursionlimit(1000000) import math import bisect #import itertools #import random #from heapq import heapify, heappop, heappush from collections import defaultdict from collections import deque import copy #DeepCopy: hoge = [_[:] for _ in hogehoge] #from functools import lru_cache #@lru_cache(maxsize=None) #MOD = pow(10,9) + 7 # MOD = 998244353 dx = [1,0,-1,0] dy = [0,1,0,-1] #dx8 = [1,1,0,-1,-1,-1,0,1] #dy8 = [0,1,1,1,0,-1,-1,-1] def main(): N = int(input()) MX = pow(10,5) ans = set([]) for a in range(1,10): for b in range(a+1,10): x = 10*a + b ans.add(x) ans = list(ans) ans.sort() # print(ans) m = len(ans) N -= 1 syo = N//m amari = N%m ret = str(ans[amari]) + str(ans[amari])[1] * syo print(ret) if __name__ == '__main__': main()