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

#10402

포효하는 해 30s 1024MB

문제

2021년에 지난 100여 년 동안 없었던 일이 벌어지고 있다. 2021은 그 이전의 1920처럼 "포효하는 해"(roaring year)이다. 양의 정수 y로 표현되는 한 해가 포효하는 해이려면, y의 10진수 표기(앞에 불필요한 0이 없는 형태)가 서로 다른 연속된 양의 정수 2개 이상을 오름차순으로 나열한 뒤 그 10진수 표기들을 이어 붙인(concatenation) 결과여야 한다. 이 경우 20212021을 이어 붙인 것이므로 포효하는 해이다.

Three calendars from roaring years 789, 2021, and 910. Each is marked to show how roaring it is.

포효하는 해(789, 2021, 910)의 달력 세 장. 얼마나 "포효"하는지 표시되어 있다.

다른 포효하는 해의 예로는 12, 789, 910, 1234, 9899100 등이 있다. 반면 2020은 포효하는 해가 아니다. 2020을 두 개 이상의 양의 정수들의 나열로 이어 붙여 만들 수 있는 경우는 [20, 20]뿐인데, 이는 연속된 정수들이 아니기 때문이다. 마찬가지로 2019에 대해서는 가능한 나열이 세 가지뿐이다: [20, 1, 9], [201, 9], [20, 19]. 앞의 두 나열은 연속된 정수들이 아니고, 세 번째는 정수들이 오름차순이 아니므로, 2019 역시 포효하는 해가 아니다. 마지막 예로 778도 포효하는 해가 아니다. [7, 78], [77, 8]은 연속된 정수들이 아니고, [7, 7, 8]은 서로 다른 정수들로 이루어져 있지 않기 때문이다.

현재 연도(포효하는 해일 수도 있고 아닐 수도 있음)가 주어질 때, 그 다음 포효하는 해가 몇 년인지 구하라.


입력

입력의 첫 줄에는 테스트 케이스 수 \mathbf{T}가 주어진다. 그 다음 \mathbf{T}줄이 이어진다. 각 줄은 테스트 케이스 하나를 나타내며, 현재 연도를 나타내는 정수 \mathbf{Y}가 주어진다.


출력

각 테스트 케이스마다 Case #x: z 형식의 한 줄을 출력하라. 여기서 x는 (1부터 시작하는) 테스트 케이스 번호이고, z\mathbf{Y}보다 엄격히 큰 연도 중에서 가장 처음으로 포효하는 해가 되는 연도이다.


예제

4
2020
2021
68000
101
Case #1: 2021
Case #2: 2122
Case #3: 78910
Case #4: 123
마지막 샘플 케이스에서 102는 울부짖는 해가 아님을 유의하라. [10, 2]는 연속 정수의 리스트가 아니고, [1, 02]를 만들기 위해 2에 앞자리 0을 붙일 수도 없다.

출처

GCJ 2021r1c B

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