#include using namespace std; #define FOR(i, b, e) for(int i = (b); i < (e); i++) #define PB push_back #define X first #define Y second #define TRAV(x, v) for(auto &x: v) #define SZ(x) ((int)x.size()) typedef long long ll; typedef pair ii; typedef vector vi; constexpr int INF = 0x3f3f3f3f; int fact(int n) { int ret = 1; FOR(i, 1, n + 1) ret *= i; return ret; } void solve() { int x; cin >> x; vi vec; for(int i = 9; i > 0; i--) { int xd = fact(i); while(x >= xd) { vec.PB(i); x -= xd; } } reverse(vec.begin(), vec.end()); TRAV(xxx, vec) cout << xxx; cout << '\n'; } int main() { ios::sync_with_stdio(0); cin.tie(0); solve(); return 0; }