관 타일

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

요약
각 n에 대해 순서를 구분하지 않는 약수 쌍의 개수가 정확히 n인 가장 작은 타일 수를 구하고, 1000000을 넘으면 Too big을 출력합니다.
난이도

어려움10점 중 8점

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

문제

정사각형 타일을 직사각형으로 배열하여 뚜껑을 장식한다. 똑같은 정사각형 타일 kk개는 a×b=ka \times b = k를 만족하는 어떤 a×ba \times b 직사각형으로도 배치할 수 있다. 두 직사각형은 변의 길이 쌍이 같으면 같은 모양으로 보므로 a×ba \times b와 b×ab \times a는 서로 다르지 않다. 따라서 타일 kk개로 만들 수 있는 서로 다른 모양의 직사각형 수는 kk의 순서를 구분하지 않는 약수 쌍의 개수와 같다.

주어진 양의 정수 nn마다, 정확히 nn개의 서로 다른 직사각형을 만들 수 있는 타일의 최소 개수를 출력하라. 예를 들어 n=2n = 2이면 답은 44이다. 타일 44개로는 1×41 \times 4 직사각형과 2×22 \times 2 직사각형을 만들 수 있고, 이보다 적은 타일 수로는 정확히 두 개의 직사각형을 만들 수 없다.

필요한 타일의 최소 개수가 1,000,0001{,}000{,}000보다 크면 대신 Too big을 출력한다.

입력

첫 번째 정수는 읽어야 할 질의의 개수 TT이다. 그 뒤에 TT개의 양의 정수 nn이 공백으로 구분되어 주어진다(값들이 여러 줄에 걸쳐 있을 수 있다).

출력

각 정수 nn마다, 정확히 nn개의 서로 다른 직사각형으로 배열할 수 있는 단위 정사각형의 최소 개수를 한 줄에 하나씩 출력한다. 그 개수가 1,000,0001{,}000{,}000보다 크면 Too big을 출력한다.

예제3

  1. 예제 1

    입력
    5
    1 4 19 48 71
    
    예상 출력
    1
    24
    786432
    27720
    Too big
    
  2. 예제 2

    입력
    6
    1 2 3 4 5 6
    
    예상 출력
    1
    4
    12
    24
    36
    60
    
  3. 예제 3

    입력
    1
    2
    
    예상 출력
    4