#ATarc135e. [ARC135E] Sequence of Multiples

[ARC135E] Sequence of Multiples

题目描述

给定整数 N, XN,\ X。请构造一个整数序列 A=(A1,,AN)A = (A_1, \ldots, A_N),使其满足以下所有条件:

  • A1=XA_1 = X
  • 对任意 ii1iN1 \leq i \leq N),AiA_iii 的倍数。
  • AA 是严格单调递增的,即 A1<<ANA_1 < \cdots < A_N

请你求出所有满足条件的 AA 中,i=1NAi\sum_{i=1}^N A_i 的最小值,并输出其对 998244353998244353 取模的结果。

TT 组测试数据,请分别输出每组的答案。

输入格式

输入以如下格式从标准输入读入。

TT
case1\text{case}_1
\vdots
caseT\text{case}_T

每组测试数据格式如下:

N XN\ X

输出格式

请输出 TT 行,第 ii 行输出第 ii 组测试数据的答案。

样例 1

输入

5
5 100
1 10
10 1
1000000000000000000 1
100 100

输出

525
10
55
75433847
61074

说明/提示

数据范围

  • 1T101 \leq T \leq 10
  • 1N10181 \leq N \leq 10^{18}
  • 1X10181 \leq X \leq 10^{18}

样例解释 1

对于前 33 组测试数据,例如,以下 AA 可以得到 i=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)

由 ChatGPT 4.1 翻译