Description
一个数如果是另一个整数的完全平方,那么我们就称这个数为完全平方数(Pefect Sqaure),也称平方数。
小A认为所有的平方数都是很perfect的。
于是他给了小B一个任务:用任意个不大于n的不同的正整数相乘得到完全平方数,并且小A希望这个平方数越大越好。
请你帮助小B告诉小A满足题意的最大的完全平方数。
Format
Input
输入仅 1行,一个数n。
对于20%的数据,0<n≤100;
对于50%的数据,0<n≤5,000;
对于70%的数据,0<n≤100,000;
对于100%的数据,0<n≤5,000,000。
Output
输出仅1行,一个数表示答案。
由于答案可以很大,所以请输出答案对100000007取模后的结果。
Samples
输入数据 1
7
输出数据 1
144
输入数据 2
9
输出数据 2
5184
Hint
144=2×3×4×6,是12的完全平方。
5184=3×4×6×8×9,是72的完全平方。
Sol:
要构造出一个完全平方数,只要限定
2,3,5,7.........这些质因子的指数为偶数即可
于是问题变成,枚举一个个的质因子
然后看从1到N,这N个数字,它们做因式分解后,能给出多少个“指数”sum出来
当然sum是有可能为奇数的,此时我们从所选的数字中,去掉相应的质数本身就好了。
如果sum是偶数,那就直接用上了。