#include <bits/stdc++.h>
using namespace std;

long long a,b,x,y,k
;


int main(){
  cin>>a>>b;
  for(long long i=a;i<=b;i++){
   if(i%10==i/10000){
        x=i/10;
        y=i/1000;
    if((x%10)==(y%10))k++;
   }
  }
  cout<<k;
    return 0;
}

#include<bits/stdc++.h>
using namespace std;

#define rep(i, n) for(int (i) = 0; (i) < (n); (i)++)
#define repp(i, n, m) for(int (i) = (n); (i) < (m); (i)++)
#define repn(i, n) for(int (i) = 1; (i) <= (n); (i)++)
#define repr(i, n) for(int (i) = (n-1); (i) >= 0; (i)--)
#define all(x) (x).begin(), (x).end()
#define lint long long
#define ulint unsigned long long
#define ldou long double
#define fi first
#define se second
#define setpre(x) std::cout << fixed << setprecision(x)
#define ii(x) int x; cin >> (x)
#define ii2(x, y) int x, y; cin >> (x) >> (y)
#define ii3(x, y, z) int x, y, z; cin >> (x) >> (y) >> (z)
#define out(x) cout << (x) << endl
#define outs(x) cout << (x) << " "
#define yn(x) cout << ((x)?("Yes"):("No")) << endl
#define YN(x) cout << ((x)?("YES"):("NO")) << endl
#define bit_c(x) __builtin_popcountll(x)

inline void logger(){ std::cout << " [LOGGER] " << endl; }
template<typename A, typename... B>
void logger(const A& a, const B&... b){
    cout << a << " , "; logger(b...);
}

typedef pair<lint, lint> P;
const lint MOD = 1000000007;
const lint MOD9 = 998244353;
const lint INF = MOD * MOD;
const int MAX = 200005;

/* ...o(^-^)o... */

int main(){
    int a, b, ans; cin >> a >> b;
    ans = 0;

    repp(i, a, b+1){
        string s = to_string(i); int l = s.length();
        bool f = true;
        rep(j, l){
            if(s[j] != s[l-1-j]) f = false;
        }
        if(f) ans++;
    }

    out(ans);
}