날짜 버그
시간 제한1초메모리 제한128 MB
여러 컴퓨터가 표시하는 연도와 각자의 되감기 매개변수가 주어질 때, 모든 컴퓨터와 모순되지 않는 가장 이른 실제 연도를 10000 미만에서 찾는다.
문제
많은 컴퓨터는 연도를 적은 자리수나 고정 크기의 카운터로 저장하기 때문에, 어느 시점이 지나면 표시되는 연도가 되돌아가 버립니다. 예를 들어 연도를 두 자리로만 표시하는 컴퓨터는 1999년 다음에 1900년으로 되돌아갑니다. 또 어떤 시스템은 특정 기준 시각 이후 흐른 초를 32비트 정수로 저장하는데, 약 초(대략 136년)가 지나면 값이 다시 기준 시각으로 되돌아갑니다.
각 컴퓨터 에는 '버그가 발생하는 연도' 가 있습니다. 실제 연도가 보다 작을 때는 연도를 올바르게 표시하지만, 실제 연도가 에 도달하는 순간 표시값이 대신 로 되돌아가고, 이후에도 다시 가 될 때마다 같은 방식으로 되돌아갑니다. 따라서 컴퓨터 가 표시할 수 있는 연도는 항상 범위 안에 있으며, 실제 연도가 일 때의 표시값은 다음과 같습니다.
여러 대의 컴퓨터가 각각 현재 표시하고 있는 연도 와 버그 정보 , 를 알려 줍니다. 모든 컴퓨터가 같은 실제 연도를 가리킨다고 가정할 때, 모든 컴퓨터와 모순되지 않는 가장 이른 실제 연도를 구하세요. 컴퓨터는 보다 이전 연도를 표시할 수 없고 자신이 만들어지기 전의 연도일 수도 없으므로, 실제 연도는 항상 모든 중 최댓값 이상입니다.
입력
입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스는 컴퓨터의 수를 나타내는 정수 ()이 적힌 줄로 시작합니다. 이어지는 개의 줄에는 각 컴퓨터에 대한 세 정수 , , 가 주어집니다 (). 는 컴퓨터가 표시하는 연도, 는 버그가 처음 발생하는(그 컴퓨터가 더 이상 표시할 수 없는 첫) 연도, 는 그 대신 되돌아가는 연도입니다.
입력은 인 테스트 케이스로 끝나며, 이 케이스는 처리하지 않습니다.
출력
번째 테스트 케이스에 대해 먼저 Case #k:를 출력합니다. 모든 컴퓨터를 만족하는 실제 연도가 존재하면, 그런 연도 중 모든 의 최댓값 이상이면서 가장 작은 값 에 대해 The actual year is z.를 출력합니다. 그런 연도가 10000년 미만에 존재하지 않으면 대신 Unknown bugs detected.를 출력합니다. 서로 다른 테스트 케이스 사이에는 빈 줄을 하나 출력합니다.