atcoder#ABC243G. [ABC243G] Sqrt

[ABC243G] Sqrt

配点 : 600600

問題文

長さ 11 の数列 A=(X)A=(X) があります。この数列に対して次の操作を 1010010^{100} 回行います。

操作:AA の末尾の要素を YY とする。11 以上 Y\sqrt{Y} 以下の整数を自由に選び、AA の末尾に追加する。

1010010^{100} 回の操作後にできる数列は何種類ありますか?

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

なお、制約の条件下で答えは 2632^{63} 未満になることが証明されます。

制約

  • 1T201 \leq T \leq 20
  • 1X9×10181 \leq X \leq 9\times 10^{18}
  • 入力に含まれる値は全て整数である

入力

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

TT

case1\rm case_1

\vdots

caseT\rm case_T

各ケースは以下の形式で与えられる。

XX

出力

TT 行出力せよ。 ii 行目には、casei\rm case_i に対する答えを出力せよ。

4
16
1
123456789012
1000000000000000000
5
1
4555793983
23561347048791096

11 つ目のケースでは、操作後の数列として考えられるものは次の 55 種類です。

  • (16,4,2,1,1,1,)(16,4,2,1,1,1,\ldots)
  • (16,4,1,1,1,1,)(16,4,1,1,1,1,\ldots)
  • (16,3,1,1,1,1,)(16,3,1,1,1,1,\ldots)
  • (16,2,1,1,1,1,)(16,2,1,1,1,1,\ldots)
  • (16,1,1,1,1,1,)(16,1,1,1,1,1,\ldots)