z = int(eval(input()))

l = []

for i in range(1,10):

    l.append(i)

    for j in range(max(0,i-1),min(10,i+2)):

        l.append(int(str(i)+str(j)))

        for k in range(max(j-1,0),min(10,j+2)):

            l.append(int(str(i)+str(j)+str(k)))

            for m in range(max(k-1,0),min(10,k+2)):

                l.append(int(str(i)+str(j)+str(k)+str(m)))

                for n in range(max(m-1,0),min(10,m+2)):

                    l.append(int(str(i)+str(j)+str(k)+str(m)+str(n)))

                    for o in range(max(n-1,0),min(10,n+2)):

                        l.append(int(str(i)+str(j)+str(k)+str(m)+str(n)+str(o)))

                        for p in range(max(o-1,0),min(10,o+2)):

                            l.append(int(str(i)+str(j)+str(k)+str(m)+str(n)+str(o)+str(p)))

                            for q in range(max(p-1,0),min(10,p+2)):

                                l.append(int(str(i)+str(j)+str(k)+str(m)+str(n)+str(o)+str(p)+str(q)))

                                for r in range(max(q-1,0),min(10,q+2)):

                                    l.append(int(str(i)+str(j)+str(k)+str(m)+str(n)+str(o)+str(p)+str(q)+str(r)))

                                    for s in range(max(r-1,0),min(10,r+2)):

                                        l.append(int(str(i)+str(j)+str(k)+str(m)+str(n)+str(o)+str(p)+str(q)+str(r)+str(s)))



l.sort()

print((l[z-1]))
from collections import deque

k = int(eval(input()))

s = deque([1,2,3,4,5,6,7,8,9])

for i in range(k):

    c = s.popleft()

    d = int(str(c)[-1])

    for j in range(max(0,d-1),min(10,d+2)):

        s.append(int(str(c)+str(j)))

print(c)
z = int(eval(input()))
l = []
for i in range(1, 10):
    l.append(i)
    for j in range(max(0, i - 1), min(10, i + 2)):
        l.append(int(str(i) + str(j)))
        for k in range(max(j - 1, 0), min(10, j + 2)):
            l.append(int(str(i) + str(j) + str(k)))
            for m in range(max(k - 1, 0), min(10, k + 2)):
                l.append(int(str(i) + str(j) + str(k) + str(m)))
                for n in range(max(m - 1, 0), min(10, m + 2)):
                    l.append(int(str(i) + str(j) + str(k) + str(m) + str(n)))
                    for o in range(max(n - 1, 0), min(10, n + 2)):
                        l.append(
                            int(str(i) + str(j) + str(k) + str(m) + str(n) + str(o))
                        )
                        for p in range(max(o - 1, 0), min(10, o + 2)):
                            l.append(
                                int(
                                    str(i)
                                    + str(j)
                                    + str(k)
                                    + str(m)
                                    + str(n)
                                    + str(o)
                                    + str(p)
                                )
                            )
                            for q in range(max(p - 1, 0), min(10, p + 2)):
                                l.append(
                                    int(
                                        str(i)
                                        + str(j)
                                        + str(k)
                                        + str(m)
                                        + str(n)
                                        + str(o)
                                        + str(p)
                                        + str(q)
                                    )
                                )
                                for r in range(max(q - 1, 0), min(10, q + 2)):
                                    l.append(
                                        int(
                                            str(i)
                                            + str(j)
                                            + str(k)
                                            + str(m)
                                            + str(n)
                                            + str(o)
                                            + str(p)
                                            + str(q)
                                            + str(r)
                                        )
                                    )
                                    for s in range(max(r - 1, 0), min(10, r + 2)):
                                        l.append(
                                            int(
                                                str(i)
                                                + str(j)
                                                + str(k)
                                                + str(m)
                                                + str(n)
                                                + str(o)
                                                + str(p)
                                                + str(q)
                                                + str(r)
                                                + str(s)
                                            )
                                        )
l.sort()
print((l[z - 1]))

from collections import deque

k = int(eval(input()))
s = deque([1, 2, 3, 4, 5, 6, 7, 8, 9])
for i in range(k):
    c = s.popleft()
    d = int(str(c)[-1])
    for j in range(max(0, d - 1), min(10, d + 2)):
        s.append(int(str(c) + str(j)))
print(c)

-z = int(eval(input())) -l = [] -for i in range(1, 10): -    l.append(i) -    for j in range(max(0, i - 1), min(10, i + 2)): -        l.append(int(str(i) + str(j))) -        for k in range(max(j - 1, 0), min(10, j + 2)): -            l.append(int(str(i) + str(j) + str(k))) -            for m in range(max(k - 1, 0), min(10, k + 2)): -                l.append(int(str(i) + str(j) + str(k) + str(m))) -                for n in range(max(m - 1, 0), min(10, m + 2)): -                    l.append(int(str(i) + str(j) + str(k) + str(m) + str(n))) -                    for o in range(max(n - 1, 0), min(10, n + 2)): -                        l.append( -                            int(str(i) + str(j) + str(k) + str(m) + str(n) + str(o)) -                        ) -                        for p in range(max(o - 1, 0), min(10, o + 2)): -                            l.append( -                                int( -                                    str(i) -                                    + str(j) -                                    + str(k) -                                    + str(m) -                                    + str(n) -                                    + str(o) -                                    + str(p) -                                ) -                            ) -                            for q in range(max(p - 1, 0), min(10, p + 2)): -                                l.append( -                                    int( -                                        str(i) -                                        + str(j) -                                        + str(k) -                                        + str(m) -                                        + str(n) -                                        + str(o) -                                        + str(p) -                                        + str(q) -                                    ) -                                ) -                                for r in range(max(q - 1, 0), min(10, q + 2)): -                                    l.append( -                                        int( -                                            str(i) -                                            + str(j) -                                            + str(k) -                                            + str(m) -                                            + str(n) -                                            + str(o) -                                            + str(p) -                                            + str(q) -                                            + str(r) -                                        ) -                                    ) -                                    for s in range(max(r - 1, 0), min(10, r + 2)): -                                        l.append( -                                            int( -                                                str(i) -                                                + str(j) -                                                + str(k) -                                                + str(m) -                                                + str(n) -                                                + str(o) -                                                + str(p) -                                                + str(q) -                                                + str(r) -                                                + str(s) -                                            ) -                                        ) -l.sort() -print((l[z - 1])) +from collections import deque + +k = int(eval(input())) +s = deque([1, 2, 3, 4, 5, 6, 7, 8, 9]) +for i in range(k): +    c = s.popleft() +    d = int(str(c)[-1]) +    for j in range(max(0, d - 1), min(10, d + 2)): +        s.append(int(str(c) + str(j))) +print(c)