#arc135e. [arc135_e]Sequence of Multiples

[arc135_e]Sequence of Multiples

問題文

整数 N,XN, X が与えられます。整数列 A=(A1,ldots,AN)A = (A_1, \\ldots, A_N) が次の条件をすべて満たすとします。

  • A1=XA_1 = X
  • 任意の ii (1leqileqN1\\leq i\\leq N) に対して、AiA_iii の倍数である。
  • AA は狭義単調増加である。つまり、A1<cdots<ANA_1 < \\cdots < A_N が成り立つ。

sumi=1NAi\\sum_{i=1}^N A_i として考えられる最小値を、998244353998244353 で割った余りを求めてください。

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

制約

  • 1leqTleq101\\leq T\\leq 10
  • 1leqNleq10181\\leq N \\leq 10^{18}
  • 1leqXleq10181\\leq X \\leq 10^{18}

入力

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

TT textcase1\\text{case}_1 vdots\\vdots textcaseT\\text{case}_T

各テストケースは以下の形式で与えられます。

NN XX

出力

TT 行出力してください。ii 行目には、textcasei\\text{case}_i に対する答えを出力してください。


入力例 1

5
5 100
1 10
10 1
1000000000000000000 1
100 100

出力例 1

525
10
55
75433847
61074

はじめの 33 つのテストケースについて、例えば次の AAsumi=1NAi\\sum_{i=1}^N A_i の最小値を与えます:

  • 11 番目のテストケース:A=(100,102,105,108,110)A = (100, 102, 105, 108, 110)
  • 22 番目のテストケース:A=(10)A = (10)
  • 33 番目のテストケース:A=(1,2,3,4,5,6,7,8,9,10)A = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)