#include <bits/stdc++.h>
using namespace std;
const int maxn = 350055, inf = 0x3f3f3f3f;
int a[20], b[20], c[10], pos;
long long ans;
bool check(int d, bool f1, bool f2) {
  if (d < 0 || (!f1 && !f2)) return 1;
  int d1 = f1 ? a[d] : 0, d2 = f2 ? b[d] : 9;
  if (d1 > d2) return false;
  for (int i = d1; i <= d2; ++i)
    if (c[i]) {
      c[i]--;
      bool st = check(d - 1, f1 && i == a[d], f2 && i == b[d]);
      c[i]++;
      if (st) return st;
    }
  return 0;
}
void dfs(int beg, int tot) {
  if (beg == 9) {
    c[9] = tot;
    if (check(pos - 1, 1, 1)) ans++;
    return;
  }
  for (int i = 0; i <= tot; ++i) {
    c[beg] = i;
    dfs(beg + 1, tot - i);
  }
}
int main() {
  long long l, r;
  cin >> l >> r;
  while (l) {
    a[pos++] = l % 10;
    l /= 10;
  }
  pos = 0;
  while (r) {
    b[pos++] = r % 10;
    r /= 10;
  }
  dfs(0, pos);
  cout << ans << endl;
}
