만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

정돈된 수 (Large)

시간 제한5초메모리 제한512 MB

요약
N이 10^18 이하로 주어질 때, N을 넘지 않으면서 십진수 각 자리가 감소하지 않는 가장 큰 수를 구한다.
난이도

보통10점 중 5점

유형
그리디, 수학, 구현, 문자열
정답자
아직 제출이 없습니다

문제

타티아나는 무엇이든 가지런히 두는 것을 좋아한다. 장난감은 작은 것부터 큰 것 순서로, 연필은 짧은 것부터 긴 것 순서로, 컴퓨터는 오래된 것부터 새것 순서로 놓는다. 어느 날 수 세기를 연습하다가, 앞에 0을 붙이지 않고 10진법으로 적었을 때 각 자리 숫자가 감소하지 않는 순서로 놓이는 정수가 있다는 사실을 알아차렸다. 8, 123, 555, 224488이 그런 수다. 타티아나는 이런 수를 정돈된 수라고 부르기로 했다. 20, 321, 495, 999990처럼 이 성질을 만족하지 않는 수는 정돈된 수가 아니다.

타티아나는 방금 1부터 NN까지 모든 양의 정수를 오름차순으로 셌다. 타티아나가 센 마지막 정돈된 수는 무엇인가?

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 이어서 TT개의 줄이 주어진다. 각 줄에는 타티아나가 마지막으로 센 수 NN이 정수 하나로 주어진다.

제한

  • 1≤T≤1001 \le T \le 100
  • 1≤N≤10181 \le N \le 10^{18}

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 타티아나가 센 마지막 정돈된 수다.

예제6

  1. 예제 1

    입력
    4
    132
    1000
    7
    111111111111111110
    
    예상 출력
    Case #1: 129
    Case #2: 999
    Case #3: 7
    Case #4: 99999999999999999
    
  2. 예제 2

    입력
    1
    1
    
    예상 출력
    Case #1: 1
    
  3. 예제 3

    입력
    9
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    예상 출력
    Case #1: 1
    Case #2: 2
    Case #3: 3
    Case #4: 4
    Case #5: 5
    Case #6: 6
    Case #7: 7
    Case #8: 8
    Case #9: 9
    
  4. 예제 4

    입력
    5
    10
    20
    321
    495
    999990
    
    예상 출력
    Case #1: 9
    Case #2: 19
    Case #3: 299
    Case #4: 489
    Case #5: 899999
    
  5. 예제 5

    입력
    7
    8
    123
    555
    224488
    123456789
    111111111111111111
    999999999999999999
    
    예상 출력
    Case #1: 8
    Case #2: 123
    Case #3: 555
    Case #4: 224488
    Case #5: 123456789
    Case #6: 111111111111111111
    Case #7: 999999999999999999
    
  6. 예제 6

    입력
    1
    1000000000000000000
    
    예상 출력
    Case #1: 999999999999999999