Create a program that takes two dates as input and outputs the number of days between the two dates.

Date 1 (y1, m1, d1) is the same as or earlier than date 2 (y2, m2, d2). Date 1 is included in the number of days, not date 2. Also, take the leap year into account when calculating. The leap year conditions are as follows.

* The year is divisible by 4.
* However, a year divisible by 100 is not a leap year.
* However, a year divisible by 400 is a leap year.



Input

Given multiple datasets. The format of each dataset is as follows:


y1 m1 d1 y2 m2 d2


When any of y1, m1, d1, y2, m2, and d2 is a negative number, the input ends.

The number of datasets does not exceed 50.

Output

Output the number of days on one line for each dataset.

Example

Input

2006 9 2 2006 9 3
2006 9 2 2006 11 11
2004 1 1 2005 1 1
2000 1 1 2006 1 1
2000 1 1 2101 1 1
-1 -1 -1 -1 -1 -1


Output

1
70
366
2192
36890
#include <iostream>
using namespace std;

bool isLeapYear(int year) {
    return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}

int main() {
    const int daysPerMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, };
    while (true) {
        int y[2], m[2], d[2];
        cin >> y[0] >> m[0] >> d[0] >> y[1] >> m[1] >> d[1];
        if (y[0] < 0 || m[0] < 0 || d[0] < 0 || y[1] < 0 || m[1] < 0 || d[1] < 0) {
            break;
        }
        int dayNumInYear[] = {d[0], d[1], };
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < m[i] - 1; j++) {
                dayNumInYear[i] += (j == 1 && isLeapYear(y[i])) ? 29 : daysPerMonth[j];
            }
        }
        int output = 0;
        output += dayNumInYear[1] - dayNumInYear[0];
        for (int i = y[0]; i < y[1]; i++) {
            output += (isLeapYear(i)) ? 366 : 365;
        }
        cout << output << endl;
    }
}