시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB120574867563.619%

문제

우리는 일상생활에서 휴가 일수를 계산하는 것 처럼 두 날짜 사이의 기간을 계산해야 하는 경우가 많다.

이때, 계산을 하는 가장 간단한 방법은 적당한 날짜를 잡은 뒤 계산할 날짜가 될 때까지 하루가 지날 때마다 계속 카운트를 하는 것이다.

이 문제에서는 해당하는 연도의 1월 1일을 시작하는 기준으로 잡을 것이다.

예를 들어 2005년 8월 13일은 총 225일이다. 그리고 그 1년 전인 2004년 8월 13일은 총 226일인데, 2004년은 윤년이기 때문이다.

윤년은 해당하는 연도가 4로 나누어 떨어지며 100으로는 나누어지는 연도는 제외하며, 그 중에서도 400으로 나누어 떨어지는 연도는 다시 포함한다. 그러므로 2000년이나 1976년은 윤년이다. 그러나, 1900년이나 1977년과 같은 경우는 윤년이 아니다.

또한 여러분은 28일로 이루어진(윤년에는 29일) 2월, 30일로 이루어진 4월, 6월 , 9월, 11월을 제외한 모든 달은 31일로 이루어져 있다는 것을 알고 있다.

이 문제에서, 여러분은 주어진 날짜를 카운트해야 한다.

입력

입력은 한 줄의 날짜로 이루어진다.

각 날짜는 일, 월, 년이 공백을 두고 주어지며, 일과 월은 항상 유효하며, 연도는 항상 1700과 2200사이의 값으로만 주어진다.

0 0 0이 입력되면 프로그램을 종료한다.

출력

각 줄에 날짜에 해당하는 날의 수를 출력한다.

예제 입력 1

14 8 2004
1 1 2004
31 1 1976
1 3 1974
1 3 1976
0 0 0

예제 출력 1

227
1
31
60
61
W3sicHJvYmxlbV9pZCI6IjIxMzkiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWIwOThcdWIyOTQgXHViMTA4XHVhYzAwIFx1YzBiNFx1YzU0NFx1YzYyOCBcdWIwYTBcdWM3NDQgXHVjNTRjXHVhY2UwIFx1Yzc4OFx1YjJlNCIsImRlc2NyaXB0aW9uIjoiPHA+XHVjNmIwXHViOWFjXHViMjk0IFx1Yzc3Y1x1YzBjMVx1YzBkZFx1ZDY1Y1x1YzVkMFx1YzExYyBcdWQ3MzRcdWFjMDAgXHVjNzdjXHVjMjE4XHViOTdjIFx1YWNjNFx1YzBiMFx1ZDU1OFx1YjI5NCBcdWFjODMgXHVjYzk4XHViN2ZjIFx1YjQ1MCBcdWIwYTBcdWM5ZGMgXHVjMGFjXHVjNzc0XHVjNzU4IFx1YWUzMFx1YWMwNFx1Yzc0NCBcdWFjYzRcdWMwYjBcdWQ1NzRcdWM1N2MgXHVkNTU4XHViMjk0IFx1YWNiZFx1YzZiMFx1YWMwMCBcdWI5Y2VcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Yzc3NFx1YjU0YywgXHVhY2M0XHVjMGIwXHVjNzQ0IFx1ZDU1OFx1YjI5NCBcdWFjMDBcdWM3YTUgXHVhYzA0XHViMmU4XHVkNTVjIFx1YmMyOVx1YmM5NVx1Yzc0MCBcdWM4MDFcdWIyZjlcdWQ1NWMgXHViMGEwXHVjOWRjXHViOTdjIFx1YzdhMVx1Yzc0MCBcdWI0YTQgXHVhY2M0XHVjMGIwXHVkNTYwIFx1YjBhMFx1YzlkY1x1YWMwMCBcdWI0MjAgXHViNTRjXHVhZTRjXHVjOWMwIFx1ZDU1OFx1YjhlOFx1YWMwMCBcdWM5YzBcdWIwYTAgXHViNTRjXHViOWM4XHViMmU0IFx1YWNjNFx1YzE4ZCBcdWNlNzRcdWM2YjRcdWQyYjhcdWI5N2MgXHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc0IFx1YmIzOFx1YzgxY1x1YzVkMFx1YzExY1x1YjI5NCBcdWQ1NzRcdWIyZjlcdWQ1NThcdWIyOTQgXHVjNWYwXHViM2M0XHVjNzU4IDFcdWM2ZDQgMVx1Yzc3Y1x1Yzc0NCBcdWMyZGNcdWM3OTFcdWQ1NThcdWIyOTQgXHVhZTMwXHVjOTAwXHVjNzNjXHViODVjIFx1YzdhMVx1Yzc0NCBcdWFjODNcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQgMjAwNVx1YjE0NCA4XHVjNmQ0IDEzXHVjNzdjXHVjNzQwIFx1Y2QxZCAyMjVcdWM3N2NcdWM3NzRcdWIyZTQuIFx1YWRmOFx1YjlhY1x1YWNlMCBcdWFkZjggMVx1YjE0NCBcdWM4MDRcdWM3NzggMjAwNFx1YjE0NCA4XHVjNmQ0IDEzXHVjNzdjXHVjNzQwIFx1Y2QxZCAyMjZcdWM3N2NcdWM3NzhcdWIzNzAsIDIwMDRcdWIxNDRcdWM3NDAgXHVjNzI0XHViMTQ0XHVjNzc0XHVhZTMwIFx1YjU0Y1x1YmIzOFx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzI0XHViMTQ0XHVjNzQwIFx1ZDU3NFx1YjJmOVx1ZDU1OFx1YjI5NCBcdWM1ZjBcdWIzYzRcdWFjMDAgNFx1Yjg1YyBcdWIwOThcdWIyMDRcdWM1YjQgXHViNWE4XHVjNWI0XHVjOWMwXHViYTcwIDEwMFx1YzczY1x1Yjg1Y1x1YjI5NCBcdWIwOThcdWIyMDRcdWM1YjRcdWM5YzBcdWIyOTQgXHVjNWYwXHViM2M0XHViMjk0IFx1YzgxY1x1YzY3OFx1ZDU1OFx1YmE3MCwgXHVhZGY4IFx1YzkxMVx1YzVkMFx1YzExY1x1YjNjNCA0MDBcdWM3M2NcdWI4NWMgXHViMDk4XHViMjA0XHVjNWI0IFx1YjVhOFx1YzViNFx1YzljMFx1YjI5NCBcdWM1ZjBcdWIzYzRcdWIyOTQgXHViMmU0XHVjMmRjIFx1ZDNlY1x1ZDU2OFx1ZDU1Y1x1YjJlNC4gXHVhZGY4XHViN2VjXHViYmMwXHViODVjIDIwMDBcdWIxNDRcdWM3NzRcdWIwOTggMTk3Nlx1YjE0NFx1Yzc0MCBcdWM3MjRcdWIxNDRcdWM3NzRcdWIyZTQuIFx1YWRmOFx1YjdlY1x1YjA5OCwgMTkwMFx1YjE0NFx1Yzc3NFx1YjA5OCAxOTc3XHViMTQ0XHVhY2ZjIFx1YWMxOVx1Yzc0MCBcdWFjYmRcdWM2YjBcdWIyOTQgXHVjNzI0XHViMTQ0XHVjNzc0IFx1YzU0NFx1YjJjOFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViNjEwXHVkNTVjIFx1YzVlY1x1YjdlY1x1YmQ4NFx1Yzc0MCAyOFx1Yzc3Y1x1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzQoXHVjNzI0XHViMTQ0XHVjNWQwXHViMjk0IDI5XHVjNzdjKSAyXHVjNmQ0LCAzMFx1Yzc3Y1x1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzQgNFx1YzZkNCwgNlx1YzZkNCAsIDlcdWM2ZDQsIDExXHVjNmQ0XHVjNzQ0IFx1YzgxY1x1YzY3OFx1ZDU1YyBcdWJhYThcdWI0ZTAgXHViMmVjXHVjNzQwIDMxXHVjNzdjXHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzgzOCBcdWM3ODhcdWIyZTRcdWIyOTQgXHVhYzgzXHVjNzQ0IFx1YzU0Y1x1YWNlMCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Yzc3NCBcdWJiMzhcdWM4MWNcdWM1ZDBcdWMxMWMsIFx1YzVlY1x1YjdlY1x1YmQ4NFx1Yzc0MCBcdWM4ZmNcdWM1YjRcdWM5YzQgXHViMGEwXHVjOWRjXHViOTdjIFx1Y2U3NFx1YzZiNFx1ZDJiOFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWM3ODVcdWI4MjVcdWM3NDAgXHVkNTVjIFx1YzkwNFx1Yzc1OCBcdWIwYTBcdWM5ZGNcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFjMDEgXHViMGEwXHVjOWRjXHViMjk0IFx1Yzc3YywgXHVjNmQ0LCBcdWIxNDRcdWM3NzQgXHVhY2Y1XHViYzMxXHVjNzQ0IFx1YjQ1MFx1YWNlMCBcdWM4ZmNcdWM1YjRcdWM5YzBcdWJhNzAsIFx1Yzc3Y1x1YWNmYyBcdWM2ZDRcdWM3NDAgXHVkNTZkXHVjMGMxIFx1YzcyMFx1ZDZhOFx1ZDU1OFx1YmE3MCwgXHVjNWYwXHViM2M0XHViMjk0IFx1ZDU2ZFx1YzBjMSAxNzAwXHVhY2ZjIDIyMDBcdWMwYWNcdWM3NzRcdWM3NTggXHVhYzEyXHVjNzNjXHViODVjXHViOWNjIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG5cclxuPHA+MCAwIDBcdWM3NzQgXHVjNzg1XHViODI1XHViNDE4XHViYTc0IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWM4ODVcdWI4Y2NcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVhYzAxIFx1YzkwNFx1YzVkMCBcdWIwYTBcdWM5ZGNcdWM1ZDAgXHVkNTc0XHViMmY5XHVkNTU4XHViMjk0IFx1YjBhMFx1Yzc1OCBcdWMyMThcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiJ9LHsicHJvYmxlbV9pZCI6IjIxMzkiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJZb3VyIERheXMgQXJlIE51bWJlcmVkIiwiZGVzY3JpcHRpb24iOiI8cD5UaGVyZSBhcmUgbWFueSBzaXR1YXRpb25zIHdoZXJlIHdlIG5lZWQgdG8gY2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgZGF5cyBiZXR3ZWVuIHR3byBkYXRlcywgZm9yIGluc3RhbmNlLCBob3cgbWFueSBkYXlzIGxlYXZlIGhhdmUgeW91IHRha2VuIGJldHdlZW4gdGhlIHN0YXJ0IGFuZCBlbmQgb2YgeW91ciBob2xpZGF5LiBUaGUgZWFzaWVzdCB3YXkgdG8gZG8gdGhvc2UgY2FsY3VsYXRpb25zIGlzIHRvIGFzc2lnbiBhbiBpbnRlZ2VyIG51bWJlciB0byBlYWNoIGRheSBieSBjaG9vc2luZyBhIHN1aXRhYmxlIHN0YXJ0aW5nIGRhdGUgYW5kIGNvdW50aW5nIHRoZSBudW1iZXIgb2YgZGF5cyBzaW5jZSB0aGVuLiBGb3IgdGhpcyBwcm9ibGVtIHdlIHdpbGwgdXNlIHRoZSBmaXJzdCBvZiBKYW51YXJ5IG9mIHRoZSByZWxldmFudCB5ZWFyIGFzIHRoZSBzdGFydGluZyBkYXRlLjxcL3A+XHJcblxyXG48cD5UaGlzIG1lYW5zIHRoYXQgdGhlIGRheSBudW1iZXIgb2YgdG9kYXkgKDEzdGggQXVndXN0IDIwMDUpIGlzIDIyNS4gTGFzdCB5ZWFyLCB0aGUgZGF5IG51bWJlciBvZiAxM3RoIEF1Z3VzdCB3YXMgMjI2IGJlY2F1c2UgMjAwNCB3YXMgYSBsZWFwIHllYXIuIEEgbGVhcCB5ZWFyIG9jY3VycyB3aGVuIHRoZSB5ZWFyIGlzIGRpdmlzaWJsZSBieSA0IHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IHllYXJzIGRpdmlzaWJsZSBieSAxMDAgYXJlIG5vdCBhbmQgd2l0aCB0aGUgZnVydGhlciBleGNlcHRpb24gdGhhdCB5ZWFycyBkaXZpc2libGUgYnkgNDAwIGFyZSwgdGh1cyAyMDAwIGFuZCAxOTc2IHdlcmUgbGVhcCB5ZWFycywgYnV0IDE5MDAgYW5kIDE5Nzcgd2VyZW4mcnNxdW87dC4gSG9wZWZ1bGx5IHlvdSBhbHNvIGtub3cgdGhhdCBtb3N0IG1vbnRocyBoYXZlIDMxIGRheXMsIGV4Y2VwdCBmb3IgQXByaWwsIEp1bmUsIFNlcHRlbWJlciBhbmQgTm92ZW1iZXIgd2hpY2ggaGF2ZSAzMCwgYW5kIEZlYnJ1YXJ5IHdoaWNoIGhhcyAyOCAoMjkgaW4gYSBsZWFwIHllYXIpLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+SW5wdXQgd2lsbCBjb25zaXN0IG9mIGEgbnVtYmVyIG9mIGRhdGVzIGVhY2ggb24gYSBzZXBhcmF0ZSBsaW5lLiBFYWNoIGRhdGUgd2lsbCBjb25zaXN0IG9mIHRocmVlIHBvc2l0aXZlIGludGVnZXJzIHJlcHJlc2VudGluZyB0aGUgZGF5LCBtb250aCBhbmQgeWVhciByZXNwZWN0aXZlbHkuIFRoZSBkYXkgYW5kIG1vbnRoIHdpbGwgYWx3YXlzIGJlIHZhbGlkIGFuZCB0aGUgeWVhciB3aWxsIGFsd2F5cyBsaWUgYmV0d2VlbiAxODAwIGFuZCAyMjAwIChib3RoIGRhdGVzIGluY2x1c2l2ZSkuIElucHV0IHdpbGwgYmUgdGVybWluYXRlZCBieSBhIGxpbmUgY29udGFpbmluZyAwIDAgMCAmbWRhc2g7IHRoaXMgbGluZSBzaG91bGQgbm90IGJlIHByb2Nlc3NlZC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5PdXRwdXQgd2lsbCBiZSBvbmUgbGluZSBmb3IgZWFjaCBsaW5lIG9mIGlucHV0LCB0aGUgbGluZSBjb250YWluaW5nIGp1c3QgdGhlIGRheSBudW1iZXIuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCJ9XQ==

출처

ICPC > Regionals > South Pacific > South Pacific Region > New Zealand Programming Contest > NZPC 2005 C번