#include #include #define rep(i, a, b) for (ll i = (ll)(a); i < (ll)(b); i++) using namespace atcoder; using namespace std; typedef long long ll; template ostream &operator<<(ostream &os, const vector &v) { int n = v.size(); rep(i, 0, n) { os << v[i] << " \n"[i == n - 1]; } return os; } int main() { string s; ll k; cin >> s >> k; k--; int n = s.size(); vector v(n + 1, 1); reverse(s.begin(), s.end()); rep(i, 0, n) { v[i + 1] = v[i] * (s[i] - '0' + 1); } string ans; ll nw = k; reverse(v.begin(), v.end()); rep(i, 0, n) { ans += '0' + nw / v[i + 1]; nw %= v[i + 1]; } cout << stoll(ans) << endl; }