Дни между датами
Просмотр в формате PDFВ сервисе отчётов есть функция, которая для каждой пары дат определяет, сколько полных дней прошло между ними. Даты заданы в григорианском календаре, при этом необходимо корректно учитывать високосные годы.
Год считается високосным, если он делится на 4, но не делится на 100, либо если он делится на 400. В високосном году 366 дней, в обычном — 365. Длины месяцев равны 31, 28 или 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31.
Поступает q запросов. В каждом запросе заданы две корректные даты отчётного периода d1 и d2. Для каждой пары нужно вычислить количество полных календарных дней между ними.
Если d1 == d2, ответ равен 0. Если d2 раньше d1, ответ должен быть отрицательным. Иначе ответ положителен.
Иными словами, для каждого запроса требуется найти разность d2 - d1, измеренную в днях.
Входные данные
В первой строке задано целое число q — количество запросов.
В каждой из следующих q строк записаны две даты в формате YYYY-MM-DD YYYY-MM-DD, разделённые пробелом.
Гарантируется, что обе даты корректны и принадлежат григорианскому календарю.
Выходные данные
Для каждого запроса выведите в отдельной строке одно целое число — разницу d2 - d1 в днях.
Ограничения
1 <= q <= 10^51900 <= YYYY <= 2100
Примеры
Пример 1
Входные данные
8
1900-01-01 1900-01-01
1900-01-01 1900-01-02
1900-01-02 1900-01-01
2000-02-28 2000-02-29
2000-02-29 2000-03-01
1900-02-28 1900-03-01
1999-12-31 2000-01-01
2001-03-01 2001-02-28
Выходные данные
0
1
-1
1
1
1
1
-1
Пример 2
Входные данные
10
2000-02-29 2000-02-29
2000-02-28 2000-03-01
2100-02-28 2100-03-01
1904-02-29 1905-02-28
1996-02-29 1997-03-01
2000-03-01 2000-02-28
2099-12-31 2100-01-01
1900-12-31 1901-01-01
2004-02-29 2004-03-01
2004-03-01 2004-02-29
Выходные данные
0
2
1
365
366
-2
1
1
1
-1
Комментарии