#include <bits/stdc++.h>
using namespace std;
int a[2][13] = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
                {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
int b[2] = {365, 366};
bool legal(int y) {
  if ((y % 400 == 0) || ((y % 100 != 0) && (y % 4 == 0))) return true;
  return false;
}
int mon(int y1, int y2, int m1, int m2, int d1, int d2) {
  int cnt = 0;
  if (m1 == m2) {
    return d2 - d1;
  } else {
    int x = legal(y1);
    cnt = a[x][m1] - d1 + 1;
    int m = m1 + 1;
    while (m < m2) cnt += a[x][m++];
    cnt += d2 - 1;
    return cnt;
  }
}
int solve(int y1, int m1, int d1, int y2, int m2, int d2) {
  if ((y1 > y2) || ((y1 == y2) && (m1 > m2)) ||
      ((y1 == y2) && (m1 > m2) && (d1 > d2))) {
    swap(y1, y2);
    swap(m1, m2);
    swap(d1, d2);
  }
  int ans = 0;
  if (y1 == y2) {
    return mon(y1, y2, m1, m2, d1, d2);
  } else {
    int x = legal(y1);
    ans = mon(y1, y1, m1, 12, d1, 31) + 1;
    int y = y1 + 1;
    while (y < y2) {
      ans += b[legal(y)];
      y++;
    }
    int t = mon(y2, y2, 1, m2, 1, d2);
    ans += t;
    return ans;
  }
}
int main() {
  int y1, m1, d1;
  int y2, m2, d2;
  char s[100];
  scanf("%s", s);
  sscanf(s, "%d:%d:%d", &y1, &m1, &d1);
  scanf("%s", s);
  sscanf(s, "%d:%d:%d", &y2, &m2, &d2);
  printf("%d\n", solve(y1, m1, d1, y2, m2, d2));
  return 0;
}
