#include using namespace std; struct iofast_t { iofast_t() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); } } iofast; struct uns_t {} uns; template auto vec(Element init, Head arg, Args ...args) { if constexpr (sizeof...(Args) == 0) return std::vector(arg, init); else return std::vector(arg, vec(init, args...)); } template auto vec(uns_t, Head arg, Args ...args) { return vec(Element(), arg, args...); } template > T &chmin(T &l, T r, Compare &&f = less()) { return l = min(l, r, f); } template > T &chmax(T &l, T r, Compare &&f = less()) { return l = max(l, r, f); } int main() { string p, n; cin >> p >> n; auto f = [](string x) { constexpr int f[] = { 6, 2, 5, 5, 4, 5, 6, 4, 7, 6, }; bool minus = x[0] == '-'; if (minus) { x = x.substr(1); } int64_t ans = 0; for (auto c : x) { ans += f[c - '0']; } ans += minus; return to_string(ans); }; auto less = [](string x, string y) { if (size(x) < size(y)) return true; if (size(x) > size(y)) return false; for (size_t i = 0; i < size(x); ++i) { if (x[i] < y[i]) return true; if (x[i] > y[i]) return false; } return false; }; for (int i = 0; less(to_string(i), n); ++i) { if (auto c = f(p); p != c) { p = c; } else { break; } } cout << p << endl; }