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()