#include <bits/stdc++.h>
using namespace std;
const int N = 20;
int ans;
int l[N], r[N], cnt[N], tmp[N], sav[N];
long long L, R;
bool checkl(int cnt[], int tot, int st) {
  if (!cnt[l[st]]) return 0;
  --cnt[l[st]];
  if (l[st]) --tot;
  int p = 0;
  for (int i = 9; i; --i)
    if (cnt[i]) {
      p = i;
      break;
    }
  for (int i = st - 1; ~i; --i) {
    if (tot > i + 1) return 0;
    if (p > l[i]) return 1;
    if (p < l[i]) return 0;
    --cnt[p];
    if (p) --tot;
    while (cnt[p] == 0) --p;
  }
  return tot == 0;
}
bool checkr(int cnt[], int tot, int st) {
  if (!cnt[r[st]]) return 0;
  --cnt[r[st]];
  if (r[st]) --tot;
  int p = 0;
  for (int i = (1); i < (10); ++i)
    if (cnt[i]) {
      p = i;
      break;
    }
  for (int i = st - 1; ~i; --i) {
    if (tot > i + 1) return 0;
    int q = (tot == i + 1) ? p : 0;
    if (q < r[i]) return 1;
    if (q > r[i]) return 0;
    --cnt[q];
    if (q) --tot;
    while (p < 10 && cnt[p] == 0) ++p;
  }
  return tot == 0;
}
bool check(int cnt[], int tot) {
  int st = -1;
  for (int i = N - 1; ~i; --i) {
    if (l[i] == r[i]) {
      if (!cnt[l[i]]) return 0;
      --cnt[l[i]];
      if (l[i]) --tot;
    } else {
      st = i;
      break;
    }
  }
  if (tot > st + 1) return 0;
  if (st == -1) return 1;
  for (int i = (l[st] + 1); i < (r[st]); ++i)
    if (cnt[i]) return 1;
  for (int i = (0); i < (10); ++i) sav[i] = cnt[i];
  if (checkl(sav, tot, st)) return 1;
  for (int i = (0); i < (10); ++i) sav[i] = cnt[i];
  if (checkr(sav, tot, st)) return 1;
  return 0;
}
void print() {
  for (int i = (1); i < (10); ++i) {
    for (int j = (0); j < (cnt[i]); ++j) cout << i;
  }
  cout << "\n";
}
void dfs(int p, int tot) {
  if (p > 9) {
    for (int i = (0); i < (10); ++i) tmp[i] = cnt[i];
    if (check(tmp, tot)) {
      ++ans;
    }
    return;
  }
  int t = cnt[p];
  for (int i = (tot); i < (N); ++i) {
    dfs(p + 1, i);
    ++cnt[p];
  }
  cnt[p] = t;
}
int main() {
  std::ios::sync_with_stdio(0);
  std::cin.tie(0);
  cin >> L >> R;
  for (int i = (0); i < (N); ++i) {
    l[i] = L % 10, L /= 10;
    r[i] = R % 10, R /= 10;
  }
  cnt[0] = 100;
  dfs(1, 0);
  cout << ans << "\n";
  return 0;
}
