만드는 중입니다

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

은하 보너스

시간 제한0.4초메모리 제한8 MB

요약
각 나이를 1인 자릿수가 정확히 두 개이고 나머지 자릿수가 모두 0인 수로 나타내는 가장 작은 진법을 구합니다.
난이도

보통10점 중 6점

유형
수학, 이분 탐색, 정수론
정답자
아직 제출이 없습니다

문제

은하 연합 의회는 지지율이 떨어지자 나이(년 단위)가 둥근 수인 시민에게 보너스를 주기로 했다. 표준 은하 달력 덕분에 모든 행성에서 1년의 길이가 같다.

종족마다 수 체계의 진법이 달라서 '둥근 수'를 정할 수 없다는 반대가 있었다. 의회는 긴 논의 끝에, 나이 AA를 어떤 진법 BB에서 100…100…100\ldots100\ldots 형태로 쓸 수 있으면 둥근 수로 본다고 정했다. 즉 1이 정확히 두 개 있고 나머지 자리는 모두 0인 수다. 보너스 금액은 AA가 둥근 수가 되는 가장 작은 진법 BB이다.

법이 시행되자 의회는 보너스를 빠르게 계산할 방법이 필요해졌다. 시민 수 NN과 각 시민의 나이 AiA_i가 주어질 때, 각 나이가 둥근 수가 되는 가장 작은 진법을 구하라.

입력

첫 줄에 시민의 수 NN이 주어진다. 다음 NN개의 줄에는 시민의 나이 AiA_i가 한 줄에 하나씩 주어진다.

출력

NN개의 줄을 출력한다. ii번째 줄에는 AiA_i가 둥근 수가 되는 가장 작은 진법을 출력한다.

제한

1≤N≤100,0001 \le N \le 100{,}000

모든 ii에 대해 3≤Ai≤264−13 \le A_i \le 2^{64} - 1이다.

힌트

36=100100236 = 100100_2

26=101526 = 101_5

80=1010000280 = 1010000_2

56=110756 = 110_7

125=11124125 = 11_{124}

여러 진법에서 둥근 수가 되는 경우도 있다. 예를 들어 36은 진법 3에서도 둥근 수이며, 36=1100336 = 1100_3이다. 하지만 답은 가장 작은 진법이어야 하므로 36의 답은 2이다.

예제1

  1. 예제 1

    입력
    5
    36
    26
    80
    56
    125
    
    예상 출력
    2
    5
    2
    7
    124