#include <bits/stdc++.h>

using namespace std;

#define intt long long

set <intt> lun;

int main() {

    for (int a = 1; a <= 9; a ++) {
        intt aa = a;
        lun.insert(aa);
    }

    for (int a = 1; a <= 9; a ++) {
        intt aa = a;
        for (int b = max(0, a - 1); b <= min(9, a + 1); b ++) {
            intt bb = aa * 10 + b;
            lun.insert(bb);
        }
    }

    for (int a = 1; a <= 9; a ++) {
        intt aa = a;
        for (int b = max(0, a - 1); b <= min(9, a + 1); b ++) {
            intt bb = aa * 10 + b;
            for (int c = max(0, b - 1); c <= min(9, b + 1); c ++) {
                intt cc = bb * 10 + c;
                lun.insert(cc);
            }
        }
    }

    for (int a = 1; a <= 9; a ++) {
        intt aa = a;
        for (int b = max(0, a - 1); b <= min(9, a + 1); b ++) {
            intt bb = aa * 10 + b;
            for (int c = max(0, b - 1); c <= min(9, b + 1); c ++) {
                intt cc = bb * 10 + c;
                for (int d = max(0, c - 1); d <= min(9, c + 1); d ++) {
                    intt dd = cc * 10 + d;
                    lun.insert(dd);
                }
            }
        }
    }

    for (int a = 1; a <= 9; a ++) {
        intt aa = a;
        for (int b = max(0, a - 1); b <= min(9, a + 1); b ++) {
            intt bb = aa * 10 + b;
            for (int c = max(0, b - 1); c <= min(9, b + 1); c ++) {
                intt cc = bb * 10 + c;
                for (int d = max(0, c - 1); d <= min(9, c + 1); d ++) {
                    intt dd = cc * 10 + d;
                    for (int e = max(0, d - 1); e <= min(9, d + 1); e ++) {
                        intt ee = dd * 10 + e;
                        lun.insert(ee);
                    }
                }
            }
        }
    }

    for (int a = 1; a <= 9; a ++) {
        intt aa = a;
        for (int b = max(0, a - 1); b <= min(9, a + 1); b ++) {
            intt bb = aa * 10 + b;
            for (int c = max(0, b - 1); c <= min(9, b + 1); c ++) {
                intt cc = bb * 10 + c;
                for (int d = max(0, c - 1); d <= min(9, c + 1); d ++) {
                    intt dd = cc * 10 + d;
                    for (int e = max(0, d - 1); e <= min(9, d + 1); e ++) {
                        intt ee = dd * 10 + e;
                        for (int f = max(0, e - 1); f <= min(9, e + 1); f ++) {
                            intt ff = ee * 10 + f;
                            lun.insert(ff);
                        }
                    }
                }
            }
        }
    }

    for (int a = 1; a <= 9; a ++) {
        intt aa = a;
        for (int b = max(0, a - 1); b <= min(9, a + 1); b ++) {
            intt bb = aa * 10 + b;
            for (int c = max(0, b - 1); c <= min(9, b + 1); c ++) {
                intt cc = bb * 10 + c;
                for (int d = max(0, c - 1); d <= min(9, c + 1); d ++) {
                    intt dd = cc * 10 + d;
                    for (int e = max(0, d - 1); e <= min(9, d + 1); e ++) {
                        intt ee = dd * 10 + e;
                        for (int f = max(0, e - 1); f <= min(9, e + 1); f ++) {
                            intt ff = ee * 10 + f;
                            for (int g = max(0, f - 1); g <= min(9, f + 1); g ++) {
                                intt gg = ff * 10 + g;
                                lun.insert(gg);
                            }
                        }
                    }
                }
            }
        }
    }

    for (int a = 1; a <= 9; a ++) {
        intt aa = a;
        for (int b = max(0, a - 1); b <= min(9, a + 1); b ++) {
            intt bb = aa * 10 + b;
            for (int c = max(0, b - 1); c <= min(9, b + 1); c ++) {
                intt cc = bb * 10 + c;
                for (int d = max(0, c - 1); d <= min(9, c + 1); d ++) {
                    intt dd = cc * 10 + d;
                    for (int e = max(0, d - 1); e <= min(9, d + 1); e ++) {
                        intt ee = dd * 10 + e;
                        for (int f = max(0, e - 1); f <= min(9, e + 1); f ++) {
                            intt ff = ee * 10 + f;
                            for (int g = max(0, f - 1); g <= min(9, f + 1); g ++) {
                                intt gg = ff * 10 + g;
                                for (int h = max(0, g - 1); h <= min(9, g + 1); h ++) {
                                    intt hh = gg * 10 + h;
                                    lun.insert(hh);
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    for (int a = 1; a <= 9; a ++) {
        intt aa = a;
        for (int b = max(0, a - 1); b <= min(9, a + 1); b ++) {
            intt bb = aa * 10 + b;
            for (int c = max(0, b - 1); c <= min(9, b + 1); c ++) {
                intt cc = bb * 10 + c;
                for (int d = max(0, c - 1); d <= min(9, c + 1); d ++) {
                    intt dd = cc * 10 + d;
                    for (int e = max(0, d - 1); e <= min(9, d + 1); e ++) {
                        intt ee = dd * 10 + e;
                        for (int f = max(0, e - 1); f <= min(9, e + 1); f ++) {
                            intt ff = ee * 10 + f;
                            for (int g = max(0, f - 1); g <= min(9, f + 1); g ++) {
                                intt gg = ff * 10 + g;
                                for (int h = max(0, g - 1); h <= min(9, g + 1); h ++) {
                                    intt hh = gg * 10 + h;
                                    for (int i = max(0, h - 1); i <= min(9, h + 1); i ++) {
                                        intt ii = hh * 10 + i;
                                        lun.insert(ii);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    for (int a = 1; a <= 3; a ++) {
        intt aa = a;
        for (int b = max(0, a - 1); b <= min(9, a + 1); b ++) {
            intt bb = aa * 10 + b;
            for (int c = max(0, b - 1); c <= min(9, b + 1); c ++) {
                intt cc = bb * 10 + c;
                for (int d = max(0, c - 1); d <= min(9, c + 1); d ++) {
                    intt dd = cc * 10 + d;
                    for (int e = max(0, d - 1); e <= min(9, d + 1); e ++) {
                        intt ee = dd * 10 + e;
                        for (int f = max(0, e - 1); f <= min(9, e + 1); f ++) {
                            intt ff = ee * 10 + f;
                            for (int g = max(0, f - 1); g <= min(9, f + 1); g ++) {
                                intt gg = ff * 10 + g;
                                for (int h = max(0, g - 1); h <= min(9, g + 1); h ++) {
                                    intt hh = gg * 10 + h;
                                    for (int i = max(0, h - 1); i <= min(9, h + 1); i ++) {
                                        intt ii = hh * 10 + i;
                                        for (int j = max(0, i - 1); j <= min(9, i + 1); j ++) {
                                            intt jj = ii * 10 + j;
                                            lun.insert(jj);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    int k;
    cin >> k;
    int cnt = 0;
    for (intt i : lun) {
        cnt ++;
        if (cnt == k) {
            cout << i << '\n';
            return 0;
        }
    }
    return 0;
}


Measured memory_bytes: 5504