codeforces#P1864H. Asterism Stream

Asterism Stream

Description

Bogocubic is playing a game with amenotiomoi. First, Bogocubic fixed an integer $n$, and then he gave amenotiomoi an integer $x$ which is initially equal to $1$.

In one move amenotiomoi performs one of the following operations with the same probability:

  • increase $x$ by $1$;
  • multiply $x$ by $2$.

Bogocubic wants to find the expected number of moves amenotiomoi has to do to make $x$ greater than or equal to $n$. Help him find this number modulo $998\,244\,353$.

Formally, let $M = 998\,244\,353$. It can be shown that the answer can be expressed as an irreducible fraction $\frac{p}{q}$, where $p$ and $q$ are integers and $q \not \equiv 0 \pmod{M}$. Output the integer equal to $p \cdot q^{-1} \bmod M$. In other words, output such an integer $y$ that $0 \le y < M$ and $y \cdot q \equiv p \pmod{M}$.

Each test contains multiple test cases. The first line contains the number of test cases $t$ ($1 \le t \le 100$). The description of the test cases follows.

The only line of each test case contains one integer $n$ ($1 \le n \le 10^{18}$).

For each test case, output a single integer — the expected number of moves modulo $998\,244\,353$.

Input

Each test contains multiple test cases. The first line contains the number of test cases $t$ ($1 \le t \le 100$). The description of the test cases follows.

The only line of each test case contains one integer $n$ ($1 \le n \le 10^{18}$).

Output

For each test case, output a single integer — the expected number of moves modulo $998\,244\,353$.

7
1
4
8
15
998244353
296574916252563317
494288321850420024
0
499122179
717488133
900515847
93715054
44488799
520723508

Note

In the first test case, $n\le x$ without any operations, so the answer is $0$.

In the second test case, for $n = 4$, here is the list of all possible sequences of operations and their probabilities:

  • $1\stackrel{+1}{\longrightarrow}2\stackrel{+1}{\longrightarrow}3\stackrel{+1}{\longrightarrow}4$, the probability is $\frac{1}{8}$;
  • $1\stackrel{\times 2}{\longrightarrow}2\stackrel{+1}{\longrightarrow}3\stackrel{+1}{\longrightarrow}4$, the probability is $\frac{1}{8}$;
  • $1\stackrel{+1}{\longrightarrow}2\stackrel{+1}{\longrightarrow}3\stackrel{\times 2}{\longrightarrow}6$, the probability is $\frac{1}{8}$;
  • $1\stackrel{\times 2}{\longrightarrow}2\stackrel{+1}{\longrightarrow}3\stackrel{\times 2}{\longrightarrow}6$, the probability is $\frac{1}{8}$;
  • $1\stackrel{+1}{\longrightarrow}2\stackrel{\times 2}{\longrightarrow}4$, the probability is $\frac{1}{4}$;
  • $1\stackrel{\times 2}{\longrightarrow}2\stackrel{\times 2}{\longrightarrow}4$, the probability is $\frac{1}{4}$.

So the expected number of moves is $4 \cdot \left(3 \cdot \frac{1}{8}\right) + 2 \cdot \left(2 \cdot \frac{1}{4} \right) =\frac{5}{2} \equiv 499122179 \pmod{998244353}$.

In the third test case, for $n = 8$, the expected number of moves is $\frac{137}{32}\equiv 717488133\pmod{998244353}$.

In the fourth test case, for $n = 15$, the expected number of moves is $\frac{24977}{4096} \equiv 900515847 \pmod{998244353}$.