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