#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")