编程题
### 问题描述
小辉和小坤在玩猜数字游戏,小坤选择一个数字 $n$ 表示猜数的范围为 $[1,n]$ ,随后小坤会随机选择一个答案 $y$ ,每轮游戏如下:
- 小辉从确定的范围(初始为 $[1,x]$)里随机选择一个数字 $x$ 并告诉小坤。
- 小坤会告诉小坤 $x$ 和 $y$ 的大小关系,小辉会根据小坤说的范围缩小猜数范围。
直到小辉猜中了数字 $y$ 游戏才结束。例如,小坤选择 $n=5$ 且随机选择了 $y=2$ ,假设小辉猜 $x=3$ ,小坤会告诉小辉猜大了,于是小辉下次猜数范围缩小为 $[1,2]$ 。重复上述过程直到猜中 $y$ 位置。小辉和小坤都想知道这个游戏能进行多少轮?
### 输入格式
第一行一个数字 $T$ 表示测试数据组数。
接下来 $T$ 行,每行一个数字 $n_i$ ,表示第 $i$ 轮的初始范围为 $[1,n_i]$ 。
### 输出格式
输出 $T$ 行,每行一个整数表示第 $i$ 局游戏可以进行轮数的期望是多少。令 $M=998244353$ ,可以证明所求期望可以写成既约分数 $\dfrac{p}{q}$ 的形式,其中 $p,q$ 均为整数且 $q\not\equiv 0 (mod \ M)$。输出的整数应当是 $p·q^{-1}(mod\ M)$ 。
### 样例输入
```text
2
1
2
```
### 样例输出
```text
1
499122178
```
### 说明
第一组数据中,初始范围为 $[1,1]$ ,所以一次就可以猜中。
第二组数据中,不管小坤随机选择的答案是 $1$ 还是 $2$ ,小辉一次猜对的概率为 $\frac{1}{2}$ ,两次猜对的概率为 $\frac{1}{2}$ ,所以答案为 $1\times\frac{1}{2}+2\times\frac{1}{2}=\frac{3}{2}$ ,即 $3\times 2^{-1}\equiv 499122178\pmod{998244353}$ 。
### 评测数据规模
对于 $100$% 的评测数据, $1 \leq T\leq 10^6,1\leq n\leq 10^6$ 。