"Drat!" cursed Charles. "This stupid carry bar is not working in my Engine! I just tried to calculate the square of a number, but it's wrong; all of the carries are lost."
"Hmm," mused Ada, "arithmetic without carries! I wonder if I can figure out what your original input was, based on the result I see on the Engine."
Carryless addition, denoted by ⊕, is the same as normal addition, except any carries are ignored (in base 10). Thus, 37⊕48 is 75, not 85.
Carryless multiplication, denoted by ⊗, is performed using the schoolboy algorithm for multiplication, column by column, but the intermediate additions are calculated using carryless addition. More formally, Let a_ma_m−1…a_1a_0 be the digits of a, where a_0 is its least significant digit. Similarly define b_nb_n−1…b_1b_0 be the digits of b. The digits of c=a⊗b are given by the following equation: \[ c_k = \left( a_0 b_k \oplus a_1 b_{k-1} \oplus \cdots \oplus a_{k-1} b_1 \oplus a_k b_0 \right) \bmod{10}, \] where any a_i or b_j is considered zero if i>m or j>n. For example, 9⊗1,234 is 9,876, 90⊗1,234 is 98,760, and 99⊗1,234 is 97,536.
Given N, find the smallest positive integer a such that a⊗a=N.
The input consists of a single line with a positive integer N, with at most 25 digits and no leading zeros.
Print, on a single line, the least positive number a such that a⊗a=N. If there is no such a, print '-1' instead.