친구 Odd Even은 정수론에 빠져 있다. 새로운 연산을 배우면 그 연산을 온갖 수에 적용해 보면서 몇 시간이고 보낸다. 작년에는 오일러 피 함수 ϕ(n)을 배웠다. 이 함수는 n 이하의 양의 정수 중 n과 서로소인 것의 개수를 센다. 그러고는 1부터 백만까지 모든 정수의 ϕ(n)을 손으로 계산했다.
최근에는 어떤 수 N의 모든 약수의 합을 다음 식으로 구한다는 것을 배웠다.
약수의 합(N)=∏i=1rpi−1piai+1−1
여기서 p1a1,p2a2,…,prar은 N의 소인수분해이고, 각 pi는 서로 다른 소수이며, ai는 piai이 N을 나누는 가장 큰 지수다.
Odd Even은 이 함수를 거꾸로 계산하고 싶어 한다. 양의 정수 N이 주어지면 약수의 합이 N인 양의 정수 M을 모두 찾아 증가하는 순서로 적으려 한다. 손으로 하면 너무 오래 걸릴 것 같아서 대신 프로그램을 만들어 주기로 했다.
양의 정수 N이 주어질 때 약수의 합이 N인 정수 M을 모두 증가하는 순서로 출력하고, 그런 수가 없으면 없다고 알리는 프로그램을 작성하라.
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 이어지는 T개의 줄에는 각각 정수 N이 하나씩 주어진다.
각 테스트 케이스마다 약수의 합이 N인 수를 모두 증가하는 순서로 한 줄에 출력한다. 수와 수 사이는 공백 하나로 구분한다. 그런 수가 하나도 없으면 따옴표 없이 none!을 출력한다.
출력이 매우 길어질 수 있으니 한 줄씩 바로 내보내지 말고 결과를 모았다가 한 번에 출력하는 편이 좋다.