该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

阶乘平方数

题目描述

Y 同学需要处理若干次关于阶乘的查询。

对于一个正整数 xx,定义 x!x!

x!=1×2××xx!=1\times2\times\cdots\times x

如果存在非负整数 yy,使得一个整数 zz 满足 z=y2z=y^2,则称 zz 为完全平方数。

对于每次查询,给定一个正整数 nn。请找出所有满足以下条件的正整数 xx

  • x!+1nx!+1\le n
  • x!+1x!+1 是一个完全平方数。

对于每次查询,请按照从小到大的顺序输出所有满足条件的 xx

输入格式

第一行包含一个整数 TT,表示查询组数。

接下来 TT 行,每行包含一个整数 nn,表示该次查询的上界。

输出格式

对于每次查询,输出一行。

若存在满足条件的正整数 xx,则按照从小到大的顺序输出所有满足条件的 xx,相邻两个整数之间用一个空格分隔。

若不存在满足条件的正整数 xx,则输出 -1

样例

样例输入 #1

3
1
25
5041

样例输出 #1

-1
4
4 5 7

样例解释

第一组查询 n=1n=1,任意正整数 xx 都有 x!+12>1x!+1\ge 2>1,不存在满足条件的 xx,输出 -1

第二组查询 n=25n=254!+1=25=524!+1=25=5^2 是完全平方数且不超过 2525,满足条件;而 5!+1=121>255!+1=121>25 已经超出上界,所以只输出 44

第三组查询 n=5041n=50414!+1=25=524!+1=25=5^25!+1=121=1125!+1=121=11^27!+1=5041=7127!+1=5041=71^2,三者都是完全平方数且不超过 50415041;而 6!+1=7216!+1=721 虽然不超过 50415041,但它不是完全平方数,所以输出 4,5,74,5,7

样例输入 #2

2
121
1000000000000000000

样例输出 #2

4 5
4 5 7

数据范围与约定

对于 100%100\% 的数据,保证:

  • 1T5×1041\le T\le 5\times10^4
  • 1n10181\le n\le 10^{18}
测试点编号 分值 具体限制 特殊性质
121\sim2 1010 T10T\le10n100n\le100 特殊性质 A
343\sim4 T100T\le100n106n\le10^6 特殊性质 B
565\sim6 T103T\le10^3n1012n\le10^{12} 特殊性质 C
7107\sim10 2020 T5×103T\le5\times10^3n1018n\le10^{18}
111411\sim14 T2×104T\le2\times10^4n1018n\le10^{18}
152015\sim20 3030 T5×104T\le5\times10^4n1018n\le10^{18}
  • 特殊性质 A:保证所有查询均满足 n<25n<25
  • 特殊性质 B:保证所有查询中的 nn 两两不同。
  • 特殊性质 C:保证查询序列中的 nn 单调不降。