“该死!”查尔斯咒骂道,“这台机器上的进位杆坏了!我刚才试着计算一个数的平方,结果却是错的;所有的进位都丢失了。”
“嗯,”艾达沉思道,“没有进位的算术!我在想,能不能根据我在机器上看到的结果,推算出你最初输入的数字。”
无进位加法(记作 $\oplus$)与普通加法相同,只是忽略了所有进位(在十进制下)。因此,$37 \oplus 48$ 的结果是 $75$,而不是 $85$。
无进位乘法(记作 $\otimes$)使用小学乘法算法逐列进行,但中间的加法运算使用无进位加法。更正式地说,设 $a_m a_{m-1} \dots a_1 a_0$ 为 $a$ 的各位数字,其中 $a_0$ 是最低位。同样定义 $b_n b_{n-1} \dots b_1 b_0$ 为 $b$ 的各位数字。$c = a \otimes b$ 的各位数字 $c_k$ 由以下公式给出:
$$c_k = (a_0 b_k \oplus a_1 b_{k-1} \oplus \dots \oplus a_{k-1} b_1 \oplus a_k b_0) \pmod{10}$$
其中,若 $i > m$ 或 $j > n$,则任何 $a_i$ 或 $b_j$ 都被视为 $0$。例如,$9 \otimes 1\,234 = 9\,876$,$90 \otimes 1\,234 = 98\,760$,以及 $99 \otimes 1\,234 = 97\,536$。
给定 $N$,求最小的正整数 $a$,使得 $a \otimes a = N$。
输入格式
输入包含一行,为一个正整数 $N$,最多有 $25$ 位数字,且没有前导零。
输出格式
在一行中输出最小的正整数 $a$,使得 $a \otimes a = N$。如果不存在这样的 $a$,则输出 ‘-1’。
样例
样例输入 1
6
样例输出 1
4
样例输入 2
149
样例输出 2
17
样例输入 3
123476544
样例输出 3
11112
样例输入 4
15
样例输出 4
-1
Figure 1. A Cam from a Babbage Analytical Engine