#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
const int month_day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
bool judge(int year, int month, int day) // 判断是否为合法日期
{
// 检查月份是否合法
if(month < 1 || month > 12) return false;
// 检查日期是否合法(考虑闰年)
int max_day = month_day[month];
if(month == 2 && ((year%4==0&&year%100!=0)||(year%400==0))) {
max_day = 29;
}
return (day >= 1 && day <= max_day);
}
int main()
{
int a, b;
cin >> a >> b;
int count = 0;
// 提取起始和结束年份
int start_year = a / 10000;
int end_year = b / 10000;
for(int year = start_year; year <= end_year; year++)
{
// 构造回文日期:年份反转后作为月日
string year_str = to_string(year);
// 补齐年份到4位(处理1000年以下的年份)
while(year_str.length() < 4) {
year_str = "0" + year_str;
}
string month_str = year_str.substr(3,1) + year_str.substr(2,1);
string day_str = year_str.substr(1,1) + year_str.substr(0,1);
int month = stoi(month_str);
int day = stoi(day_str);
// 构造完整的8位日期
int date = year * 10000 + month * 100 + day;
// 检查日期是否在范围内且合法
if(date >= a && date <= b && judge(year, month, day))
{
count++;
}
}
cout << count << endl;
return 0;
}