#include <bits/stdc++.h>
using namespace std;
long double PI = 3.14159265358979323846;
const long long modo = 998244353;
const long long inf = 2e14;
const long long ms = (5e5) + 5;
int ar[30] = {0};
long long dp[30][10][2];
long long callme() {
  int i;
  memset(dp, 0, sizeof(dp));
  dp[0][0][0] = 1;
  int j;
  int k;
  long long tt;
  long long pp;
  long long ans = 0;
  for (i = 1; i <= 19; i++) {
    for (j = 1; j <= 9; j++) {
      for (k = 0; k <= 9; k++) {
        dp[i][j][1] += dp[i - 1][j][1];
        if (i == 19) {
          if (j != 0 && j == k) ans += dp[i - 1][j][1];
        }
      }
    }
    for (j = 1; j <= 9; j++) {
      for (k = 0; k <= 9; k++) {
        if (k < ar[i]) {
          dp[i][j][1] += dp[i - 1][j][0];
          if (i == 19) {
            if (j != 0 && j == k) {
              ans += dp[i - 1][j][0];
            }
          }
        } else if (k == ar[i]) {
          dp[i][j][0] += dp[i - 1][j][0];
          if (i == 19) {
            if (j != 0 && j == k) {
              ans += dp[i - 1][j][0];
            }
          }
        }
      }
    }
    for (j = 0; j <= 9; j++) {
      dp[i][j][1] += dp[i - 1][0][1];
      if (j < ar[i]) {
        dp[i][j][1] += dp[i - 1][0][0];
      } else if (j == ar[i]) {
        dp[i][j][0] += dp[i - 1][0][0];
      }
    }
  }
  return ans;
}
long long check(long long x) {
  if (!x) return x;
  int aa = 0;
  for (int i = 1; i <= 9; i++) {
    if (i <= x) aa++;
  }
  int i = 19;
  memset(ar, 0, sizeof(ar));
  while (x) {
    ar[i] = x % 10;
    x /= 10;
    i--;
  }
  return callme() + aa;
}
int main() {
  ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
  long long l, r;
  cin >> l >> r;
  long long pp = check(r);
  pp -= check(l - 1);
  cout << pp;
}
