B. 欧拉降幂
题目描述
最近,lhy学到了一个新算法,快速幂的升级版--欧拉降幂,该算法可以在Θ(logb)的时间复杂度下计算出ab%p的值,这使得lhy对于幂运算充满信心。
于是他就找到了这样的函数来练手h(x,y)=xyx,不过,最后为了美观性,lhy将它改为了更加对称的式子f(x,y)=xyx+yxy.
现在,lhy想要搜索f(x,y)=n是否有解,其中n是一个给定的正整数。可以证明,如果该方程有正整数解(x0,y0),那么必然有1≤x0,y0≤n.
但是通过枚举(x,y)的方式找解的效率不高,所以lhy决定把它作为checker,而你的任务就是找到任意的一组正整数解(x,y),使得f(x,y)=n.如果方程无解,请输出-1.
输入格式
第一行,一个正整数T,表示测试用例的个数。
每个测试用例一行,一个正整数n.
输出格式
每个测试用例一行,若有解,请输出任意一组解,若无解,输出-1.
样例输入
5
3
7
42
31250
20732790
样例输出
-1
-1
2 3
5 5
3 13
数据范围及约定
对于20%的数据,1≤T≤10,1≤n≤104.
对于50%的数据,1≤T≤103,1≤n≤109.
对于100%的数据,1≤T≤104,1≤n≤1018.