#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';
}
