atcoder#ABC243G. [ABC243G] Sqrt

[ABC243G] Sqrt

题目描述

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

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

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

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

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

输入格式

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

T T  case1 \rm\ case_1 \vdots  caseT \rm\ case_T

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

X X

输出格式

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

题目大意

你现在有一个数 XX

每次你可以进行以下操作:

  • 设末尾的数是 YY。在 11Y\sqrt{Y} 中选取一个数 ZZ
  • ZZ 加到序列的末尾。

如此进行 1010010^{100} 次操作,问一共有多少种可能的情况。

可以证明,答案不超过 26312^{63}-1

X9×1018X \le 9 \times 10^{18}。多组数据。

4
16
1
123456789012
1000000000000000000
5
1
4555793983
23561347048791096

提示

制約

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

Sample Explanation 1

1 1 つ目のケースでは、操作後の数列として考えられるものは次の 5 5 種類です。 - (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)