#include <iostream>
using namespace std;
#include<string>
#include<vector>
#include<iomanip>
vector<int>v_mouthday,v_mouthday_runnian;
bool Is_huiwenS(string s1){
string s2;
for(int i=s1.size()-1;i>=0;i--){
s2+=s1[i];
}
if(s1==s2){
return true;
}
else{
return false;
}
}
bool Is_runnian(int y){
if(y%400==0||y%100!=0&&y%4==0){
return 1;
}
else{
return 0;
}
}
string int_to_string(int y,int m,int d){
string s;
string yyyy,mm,dd;
yyyy=to_string(y);
if(m<=9){
mm+="0";
mm+=to_string(m);
}
else{
mm=to_string(m);
}
if(d<=9){
dd+="0";
dd+=to_string(d);
}
else{
dd=to_string(d);
}
s+=yyyy;
s+=mm;
s+=dd;
return s;
}
string addoneday(string s){
string yyyy,mm,dd;
for(int i=0;i<4;i++){
yyyy+=s[i];
}
for(int i=4;i<6;i++){
mm+=s[i];
}
for(int i=6;i<8;i++){
dd+=s[i];
}
int y,d,m;
y=stoi(yyyy);
m=stoi(mm);
d=stoi(dd);
if(!Is_runnian(y)){
if(d<v_mouthday[m-1]){
d++;
}
else{
d=1;
if(m!=12){
m++;
}
else{
m=1;
y++;
}
}
}
else{
if(d<v_mouthday_runnian[m-1]){
d++;
}
else{
d=1;
if(m!=12){
m++;
}
else{
m=1;
y++;
}
}
}
return int_to_string(y,m,d);
}
int main() {
v_mouthday={31,28,31,30,31,30,31,31,30,31,30,31};
v_mouthday_runnian={31,29,31,30,31,30,31,31,30,31,30,31};
string s_begin,s_end;
cin>>s_begin>>s_end;
int sum=0;
string s=s_begin;
string s_END=addoneday(s_end);
while(s!=s_END){
if(Is_huiwenS(s)){
sum++;
s=addoneday(s);
}
else{
s=addoneday(s);
}
}
cout<<sum;
}
// 64 位输出请用 printf("%lld")