#include #include #include constexpr int F = 10; std::vector make_factorials() { std::vector factorials(F); factorials[0] = 1; for (int i = 1; i < F; ++i) { factorials[i] = factorials[i-1] * i; } return factorials; } int main() { std::ios::sync_with_stdio(false); long long y; std::cin >> y; auto f = make_factorials(); std::string result; for (int active = 9; active >= 0; --active) { while (y >= f[active]) { y -= f[active]; result.push_back('0' + active); } } for (auto it = result.rbegin(); it != result.rend(); ++it) { std::cout << *it; } std::cout << std::endl; return 0; }