만드는 중입니다

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

진법별 0의 개수

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

요약
각 n마다 2 이상 n 이하의 진법 중에서 n의 표현에 0이 가장 많이 들어가는 개수와 그 개수에 도달하는 진법들을 구합니다.
난이도

보통10점 중 7점

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

문제

바바라는 항상 십진법(밑 10)으로 정수를 표현하는 방법을 알고 있었다. 최근 그녀는 임의의 정수 밑 b≥2b \ge 2에 대해서도, 0부터 b−1b-1까지의 값을 가진 기호를 숫자로 사용해 정수를 밑 bb로 표현할 수 있다는 것을 배웠다.

바바라가 가장 좋아하는 숫자는 0이다. 다행히 0은 모든 진법에서 같은 모양이다.

오늘 바바라는 양의 정수 nn을 가지고 놀고 있다. 그녀는 어떤 진법에서 nn의 표현에 0이 가장 많이 들어가는지 궁금하다. 그런 진법을 모두 찾아라.

입력

첫 줄에 테스트 케이스의 개수 tt (1≤t≤10001 \le t \le 1000)가 주어진다. 각 테스트 케이스는 정수 nn (2≤n≤10182 \le n \le 10^{18}) 한 줄로 이루어진다.

출력

각 테스트 케이스마다 첫 줄에 정수 kk와 mm을 출력한다. kk는 어떤 진법에서든 nn의 표현이 가질 수 있는 0의 최대 개수이고, mm은 그 개수에 도달하는 진법의 수이다.

둘째 줄에는 그런 진법 b1,b2,…,bmb_1, b_2, \ldots, b_m을 오름차순으로 출력한다 (2≤b1<b2<⋯<bm≤n2 \le b_1 < b_2 < \cdots < b_m \le n).

힌트

예제에서 0의 개수가 최대인 표현은 다음과 같다.

  • 11=10112=1023=101111 = \mathtt{1011}_2 = \mathtt{102}_3 = \mathtt{10}_{11} (0이 1개)
  • 1007=11010223=1007101007 = \mathtt{1101022}_3 = \mathtt{1007}_{10} (0이 2개)
  • 239=111011112=10356=10E15=10239239 = \mathtt{11101111}_2 = \mathtt{1035}_6 = \mathtt{10E}_{15} = \mathtt{10}_{239} (0이 1개)

239=10E15239 = \mathtt{10E}_{15}에서 E\mathtt{E}는 값이 14인 숫자이다.

예제1

  1. 예제 1

    입력
    3
    11
    1007
    239
    
    예상 출력
    1 3
    2 3 11
    2 2
    3 10
    1 4
    2 6 15 239