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>
#include <iomanip>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <algorithm>
#include <sstream>
#include <cstdlib>
#include <cstring>
#include <functional>
#include <numeric>
#include <cmath>
#include <climits>
#include <limits>
#include <cfloat>
#include <fstream>
using namespace std;

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

int main()
{
	int days[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

//	cut here before submit 
//	freopen ("testcase.daycount2", "r", stdin );

	string str = "";

	while (getline (cin, str ) ){

		int y1, m1, d1, y2, m2, d2;
		stringstream ss(str);
		ss >> y1 >> m1 >> d1 >> y2 >> m2 >> d2;

		if (y1 == -1 || m1 == -1 || d1 == -1 || y2 == -1 || m2 == -1 || d2 == -1){
			break;
		} // end if
		int res = 0;

		// [úðÇÁ
		for (int year = y1; year <= y2; ++year ){
			if (isleap (year) ){
				++res;
			} // end if
		} // end for
		
		// JnNª[NÅJnª[úðÜÜÈ¢ê
		if (isleap (y1) && m1 >= 3){
			--res;
		} // end if
		// I¹Nª[NÅI¹úª[úðÜÜÈ¢ê
		if (isleap (y2) && m2 <= 2 && d2 <= 29 ){
			--res;
		} // end if
		
		int curr_year = y1;
		int curr_month = m1;
		int curr_day = d1;

		while (curr_year != y2 ){
			while (curr_month != 0 ){
				res += days[curr_month] - curr_day + 1;
				curr_month = (curr_month + 1) % 13;
				curr_day = 1;
			} // end 
			++curr_month;
			++curr_year;
		} // end while

		if (curr_year == y2 ){
			while (curr_month != m2 ){
				res += days[curr_month] - curr_day + 1;
				// _ ++curr_month
				// curr_month = 13 ÆÈÁÄµÜ¤
				// 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1 Æµ½¢
				// (curr_month + 1) % 13
				curr_month = ( (curr_month + 1) % 13 == 0 ? 1 : ++curr_month) ;
				curr_day = 1;
 			}// end while
			res += (d2 - curr_day);
		} // end if
		cout << res << endl;
	} // end loop
		
	return 0;
}