Concat Two Coprimes

2 secs 1024 MB
loop0919's icon loop0919

問題文

正整数 x,yx, y に対して f(x,y)f(x, y) を以下のように定義します。

  • 十進表記の x,yx, y をそれぞれ文字列として解釈して得られる文字列を zz とする。 zz を十進表記の整数として解釈したときの値を f(x,y)f(x, y) とする。

例えば f(3,14)=314, f(100,3)=1003f(3, 14) = 314, ~ f(100, 3) = 1003 です。

正整数 NN が与えられます。 以下の条件をすべて満たす正整数 XX が存在するか判定してください。
また、存在する場合はこのうちあり得る最小値を求めてください。

  • XXNN の倍数である
  • NN と互いに素な 22 つの正整数 a,ba, b を用いて X=f(a,b)X = f(a, b) と表すことができる

TT 個のテストケースが与えられるので、それぞれについて答えてください。

制約

  • 1T1051 \leq T \leq 10^5
  • 1N2×1091 \leq N \leq 2 \times 10^{9}
  • 入力はすべて整数である

入力

入力は以下の形式で標準入力から与えられます。

TT
case1\mathrm{case}_1
case2\mathrm{case}_2
\vdots
caseT\mathrm{case}_T

各テストケースは以下の形式で与えられます。

NN

出力

条件をすべて満たす正整数 XX が存在するならば XX を、存在しないならば -1 を出力してください。

サンプル

入力例

2
7
100

出力例

14
-1

11 番目のテストケースについて、 X=14X = 14 は条件を満たします。

  • 141477 の倍数である
  • a=1, b=4a = 1,~ b = 4 はどちらも 77 と互いに素である

22 番目のテストケースについて、 条件を満たす XX は存在しません。

Submit


Go (1.21)