小红的完全平方数构造
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}小红拿到了一个整数 n,她想要在这个整数的十进制表示末尾拼接一个非空的数字串(如将 \underline{123} 修改为 \underline{123}0987654),使得修改过后的新数 n' 是一个完全平方数,请你帮帮她。

【名词解释】
\hspace{15pt}完全平方数:一个数如果可以表示为某个整数的平方,那么这个数就是完全平方数。前十个完全平方数是 0,1,4,9,16,25,36,49,64,81

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqq T\leqq 10^5\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行输入一个整数 n \left(1 \leqq n \leqq 10^8 \right)

输出描述:

\hspace{15pt}对于每组测试数据,新起一行输出一个整数 n'\left(1 \leqq n' \leqq 10^{18} \right),代表修改后的整数。可以证明,在所给的数据范围内一定存在合法的答案。

\hspace{15pt}如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

复制
1
114514

输出

复制
11451412335057984

说明


示例2

输入

复制
1
1

输出

复制
100

说明

10 \times10 = 100。请注意输出 1 不会被判定为正确,因为没有添加任何后缀。