만드는 중입니다

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

슈퍼 럭키 회문

시간 제한1초메모리 제한1024 MB

요약
k가 주어질 때, 자릿수가 모두 4와 7이고 자릿수 개수와 4 또는 7의 개수도 럭키 넘버인 회문 중 k번째로 작은 수를 구합니다.
난이도

보통10점 중 6점

유형
조합론, 수학, 구현
정답자
아직 제출이 없습니다

문제

럭키 수는 4와 7 숫자로만 이루어진 양의 정수이다. 예를 들어 47477과 777은 럭키 수이고, 457과 1232는 그렇지 않다.

슈퍼 럭키 수는 다음 조건을 모두 만족한다.

  • 그 자체가 럭키 수이다.
  • 자릿수가 럭키 수이다.
  • 4의 개수 또는 7의 개수가 럭키 수이다(둘 다 럭키 수여도 된다).

회문은 앞에서 읽으나 뒤에서 읽으나 같은 정수이다. 예를 들어 547745와 343은 회문이고, 74와 12345는 회문이 아니다. 슈퍼 럭키 회문은 슈퍼 럭키 수이면서 회문인 양의 정수이다.

정수 k가 주어질 때, k번째로 작은 슈퍼 럭키 회문을 구하시오.

입력

첫 줄에 질의의 개수 n이 양의 정수로 주어진다. 이후 n개의 줄에 각각 정수 k가 한 개씩 주어진다. (1≤k≤10181 \le k \le 10^{18})

출력

각 질의마다 'Query #d: ' 를 출력한 뒤, k번째로 작은 슈퍼 럭키 회문을 출력한다. d는 1부터 시작하는 질의 번호이다.

예제1

  1. 예제 1

    입력
    5
    1
    2
    3
    5
    100
    
    예상 출력
    Query #1: 4444
    Query #2: 7777
    Query #3: 4444444
    Query #4: 4747474
    Query #5: 44444444744744444444444444444444744744444444