#CF2039F2. Shohag 喜欢计数(困难版)

Shohag 喜欢计数(困难版)

F2. Shohag 喜欢计数(困难版)

时间限制: 每个测试点 44
内存限制: 每个测试点 512512 兆字节

这是本题的困难版本。两个版本之间的唯一区别在于 ttmm 以及 mm 的总和的范围不同。只有当你解决了本题的两个版本时,才能进行hackhack


对于长度为 nn 的整数数组 aa,定义 f(k)f(k) 为所有长度为 kk 的子数组的最大值最大公约数(GCD)
例如,若数组为 [2,1,4,6,2][2,1,4,6,2],则

$$f(3) = \gcd\big(\max([2,1,4]),\ \max([1,4,6]),\ \max([4,6,2])\big) = \gcd(4,6,6) = 2. $$

如果一个数组满足:对于所有 1i<jn1 \le i < j \le n 都有 f(i)f(j)f(i) \neq f(j),则称这个数组是好的

Shohag 有一个整数 mm
请帮他计算:有多少个非空的好数组,其长度任意,且数组中的每个元素都是 11mm 之间的整数?
答案对 998244353998244353 取模。


输入格式

第一行包含一个整数 tt1t3×1051 \le t \le 3 \times 10^5)—— 测试用例的数量。
接下来每个测试用例包含一行,每行有一个整数 mm1m1061 \le m \le 10^6)。

注意:所有测试用例的 mm 之和没有限制。


输出格式

对于每个测试用例,输出一个整数 —— 符合条件的数组数量,对 998244353998244353 取模。


示例

输入:

3
2
5
9

输出:

4
29
165

示例解释

在第一个测试用例(m=2m=2)中,符合条件的数组有:
[1][1], [1,2][1,2], [2][2], [2,1][2,1]

在第二个测试用例(m=5m=5)中,共有 2929 个符合条件的数组。
例如,数组 [2,1,4][2,1,4](长度为 33)是符合条件的,因为所有元素都在 1155 之间,且 f(1)f(1)f(2)f(2)f(3)f(3) 互不相同:

$$f(1) = \gcd(\max([2]), \max([1]), \max([4])) = \gcd(2,1,4) = 1, $$$$f(2) = \gcd(\max([2,1]), \max([1,4])) = \gcd(2,4) = 2, $$f(3)=gcd(max([2,1,4]))=gcd(4)=4.f(3) = \gcd(\max([2,1,4])) = \gcd(4) = 4.