페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#1812

달력게임 1s 64MB

문제

지윤이와 경림이는 2007년도 한컴 프로그래밍 경진대회에 참가하려 한다. 

대회당일 날 아침, 대회참가를 기념하여 지윤이와 경림이는 달력게임을 하기로 했다. 

이 게임은 1900년 1월 1일부 터 2007년 9월 7일 사이의 임의의 날짜에서 시작해서 대회날인 2007년 9월 8일까지 날짜를 이 동해 가는 게임이다. 

게임은 지윤이부터 시작하는데, 지윤이가 시작날짜에서 이동하면, 

경림이는 지윤이가 이동한 날짜에서 시작해서 다음 이동할 날짜를 선택해 이동하고, 

다시 지윤이가 이동하 는 순으로 지윤이와 경림이가 한 번씩 번갈아 가면서 날짜를 선택해 이동하게 된다. 

이 게임에서 날짜를 이동하는 규칙은 다음과 같은 두 가지가 있다. 

플레이어는 자신의 차례가 되었을 때 주어 진 날짜에서 하루 다음날로 이동하거나 또는 같은 날짜의 그 다음 달로 이동할 수 있다.

예를 들 어 2003년 10월 6일에서는 2003년 10월 7일로 이동할 수 있고, 또는 2003년 11월 6일로 이동 할 수 있다.

 

날짜를 이동하는 방법에는 두 가지 제약이 있는데, 

첫째로, 2007년 9월 8일 이후의 날짜로는 이 동할 수가 없다. 

예를 들어, 플레이어의 차례에 온 날짜가 2007년 8월 9일이라면 플레이어는 2007년 9월 9일로 이동할 수 없기 때문에 

2007년 8월 10일로 이동할 수밖에 없다.

둘째로, 그 다음 달의 같은 날짜가 존재하지 않는 경우에도 그 다음 달 같은 날짜로 이동하는 것이 불가능하다. 

예로써 2002년 1월 31일에 플레이어의 차례가 왔다면 2월 31일은 존재하지 않는 날짜이므로 이동하는 것이 불가능하다. 

따라서 플레이어는 2002년 2월 1일로 이동할 수밖에 없다.

 

달력 게임은 위와 같은 규칙에 따라서 날짜를 이동해 나가다가 2007년 9월 8일에 자신의 차례 가 오게 되면 그 사람이 패배하는 게임이다.

 

예를 들어, 2007년 9월 7일에서 게임을 시작했다면, 지윤이는 2007년 9월 8일로 이동하게 되고, 

경림이의 차례에서 2007년 9월 8일이 되었으므로 경림이의 패배가 되어 지윤이가 승리하게 된다.

2007년 9월 6일에서 게임을 시작했다면, 지윤이는 2007년 9월 7일로 이동할 수 있고, 경림이는 2007년 9월 7일에서 2007년 9월 8일로 이동한다.

지윤이의 차례에 2007년 9월 8일이 되므로 이 경우는 지윤이의 패배가 된다.

 

달력 게임에서는 윤년도 고려해야 하는데, 윤년이 평년과 다른 점은 2월이 29일까지 존재한다는 것이다.

윤년 계산방법은 그레고리력 달력의 계산 원리에 의해 다음과 같다.

4의 배수가 되는 해를 윤년으로 하되, 4의 배수 중 100의 배수가 되는 해는 윤년이 아닌 것으로 하고,

100의 배수 중 400의 배수가 되는 해는 윤년으로 정한다. 이 원리에 의거해서 1600년, 2000년은 윤년이며 1700년, 1800년, 1900년은 윤년이 아니다.


입력

첫 번째 줄에는 테스트 케이스를 의미하는 N이 입력된다. 그 다음 N개 라인에서 각 라인마다 달력 게임의 시작날짜인 년, 월, 일이 세 개의 숫자 YYYY MM DD 형태로 입력되는데, YYYY년 MM월 DD일을 의미한다. 시작날짜는 1900년 1월 1 일부터 2007년 9월 7일을 포함하여 그 사이의 임의의 날짜이다. (입력되는 숫자 중0으로 시작하는 숫자는 없다. 예를 들어 9월은 09 가 아닌 9가된다. ) 게임은 항상 지윤이부터 시작한다.


출력

게임은 항상 지윤이부터 시작한다. 달력게임의 규칙에 의거해서, 지윤이가 승리하는 경우는 “YES”를 지윤이가 패배하는 경우는 “NO”를 출력한다.


예제

3

2007 9 7
2007 9 6
2007 8 7
YES

NO
NO
로그인해야 코드를 작성할 수 있어요.