INVDIV - Smallest Inverse Sum of Divisors

题意翻译

**题目描述:** 定义一个函数: $\sigma(x)$ 为正整数 $x$ 的所有约数的和,举个例子: $\sigma(60)=1+2+3+4+5+6+10+12+15+20+30+60=168$ 现在给定一个正整数 $n$ ,求最小的正整数 $i$ ,使得 $\sigma(i)=n$ 。 (若无解,请输出`-1`) **输入格式:** 本题有多组数据,数据组数共 $T$ 组。 对于每组数据,一组数据占一行,仅输入一行一个正整数 $n$ 。 **输出格式:** 输出的第 $j$ 行表示第 $j$ 组数据的答案,一个正整数。 **数据范围:** $1\leq T\leq 10^5, 1\leq n\leq 10^8$

题目描述

First, we define σ(**i**) = Sum of all positive divisors of **i**. example: all positive divisors of 60 = {1,2,3,4,5,6,10,12,15,20,30,60} so σ(60)=1+2+3+4+5+6+10+12+15+20+30+60=168 Now for the task: given an integer **n** find smallest integer **i** such that σ(**i**)=**n****.**

输入输出格式

输入格式


The first line is an integer **T**(1 T For each test case, there is an integer **n**(1 n

输出格式


For each test case, output Smallest Inverse Sum of Divisors of **n**. if **n** doesn't have inverse, output -1.

输入输出样例

输入样例 #1

5
1
16
40
60
168

输出样例 #1

1
-1
27
24
60