func_code_string: #include <bits/stdc++.h>   using namespace std;   int a[100], b[100], path[11];   int res;   bool check(int pos, int l1, int l2) {     if (pos == 0) {       return 1;     }     if (!l1 && !l2) return 1;     int l = l1 ? a[pos] : 0;     int r = l2 ? b[pos] : 9;     for (int i = l; i <= r; i++) {       if (path[i]) {         path[i]--;         if (check(pos - 1, l1 && l == i, l2 && r == i)) {           path[i]++;           return 1;         }         path[i]++;       }     }     return 0;   }   int c;   int solve(int u, int pos) {     int res = 0;     if (u == 9) {       path[u] = pos;       if (check(c, 1, 1)) return 1;       return 0;     }     for (int i = 0; i <= pos; i++) {       path[u] += i;       res += solve(u + 1, pos - i);       path[u] -= i;     }     return res;   }   int dig(int *p, long long x) {     int len = 0;     while (x) {       p[++len] = x % 10;       x /= 10;     }     c = len;     return len;   }   int main() {     long long l, r;     cin >> l >> r;     int pos = dig(a, l);     pos = dig(b, r);     cout << solve(0, pos) <<   n ;   }   