#include #include using namespace std; int c, cat, mx, dis; long long a, b, cb, tot; set ok; set u; void blacktracking() { if (c == cat) { if (cb < b) ++tot; return; } for (auto i:ok) { u.insert(i); ++c; cb*=10; cb+=i; blacktracking(); cb/=10; --c; u.erase(i); } } long long putere(int exp, long long baza) { if (exp == 0) return 1; if (exp == 1) return baza; return baza*putere(exp - 1, baza); } int main() { cin >> a >> b; if (a >= 10) cout << 0; else { cb = b; while (cb) cb/=10, ++mx; for (int i = a; i <= 9; ++i) { ok.insert(i); ++dis; } for (cat = 1; cat <= mx; ++cat) { if (cat != mx) tot+=putere(cat, dis); else blacktracking(); } } cout << tot; return 0; }