배수와 약수 개수

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

요약
N이 10^18까지 주어질 때, N의 배수이면서 약수 개수가 정확히 N인 양의 정수 X의 개수를 구하거나 무한히 많으면 이를 판별합니다.
난이도

어려움10점 중 9점

유형
정수론, 조합론, 수학, 백트래킹
정답자
아직 제출이 없습니다

문제

양의 정수 N이 주어진다. 양의 정수 X 중에서 다음 두 조건을 모두 만족하는 값이 몇 개인지 구하자.

  • X는 N의 배수이다.
  • X의 양의 약수의 개수는 정확히 N개이다.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 다음 T개의 줄에는 각각 하나의 양의 정수 N이 주어진다.

출력

각 테스트 케이스마다 조건을 만족하는 양의 정수 X의 개수를 한 줄에 하나씩 출력한다. 만족하는 정수가 무한히 많으면 -1을 출력한다.

제한

  • 1 ≤ T ≤ 100
  • 1 ≤ N ≤ 10^18

힌트

첫 번째 경우에는 12와 18이 조건을 만족한다. 두 번째 경우에는 113^112가 조건을 만족한다.

예제1

  1. 예제 1

    입력
    3
    6
    113
    144
    
    예상 출력
    2
    1
    -1