#P9885. [ICPC 2018 Qingdao R] Sequence and Sequence

[ICPC 2018 Qingdao R] Sequence and Sequence

Description

考虑下列两个序列 PPQQ。我们用 P(i)P(i) 表示序列 PP 中的第 ii 个元素,用 Q(i)Q(i) 表示序列 QQ 中的第 ii 个元素:

  • 序列 PP 是一个已排序的序列,其中,对于所有 kZ+k \in \mathbb{Z^+}kk 在序列 PP 中出现 (k+1)(k+1) 次(Z+\mathbb{Z^+} 为正整数集)。也就是说,$P = \{1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, \dots \}$
  • 序列 QQ 可以由以下方程导出:
$$\begin{cases} Q(1) = 1 & \\ Q(i) = Q(i-1) + Q(P(i)) & \text{if } i > 1 \end{cases}$$

也就是说,$Q = \{1, 2, 4, 6, 8, 12, 16, 20, 24, 30, 36, 42, 48, 54, 62, \dots \}$。

给定一个正整数 nn,请计算 Q(n)Q(n) 的值。

Input Format

本题的测试点包含多组测试数据。

第一行输入包含一个整数 TT10410^4 左右),表示测试数据的数量。对于每组测试数据:

  • 第一行(也是唯一一行)包含一个整数 nn1n10401 \le n \le 10^{40})。

Output Format

对于每组测试数据,输出一行,包含一个整数,表示 Q(n)Q(n) 的值。

4
10
100
1000
987654321123456789
30
2522
244274
235139898689017607381017686096176798