#GDKOI2024SD2T2. 计算

计算

[GDKOI2024 提高组] 计算

赛事要求

2024 年广东省重点中学信息学邀请赛 (GDKOI 2024)

提高组 第二试

2024 年 1 月 7 日

注意事项

  1. 严格按照题目所要求的格式进行输入、输出,否则严重影响得分。
  2. 题目测试数据有严格的时间限制,超时不得分。
  3. C/C++ 中函数 main() 的返回值类型必须是 int,程序正常结束时的返回值必须是 0。
  4. 输入文件格式不用判错;输入输出文件名均已给定,不用键盘输入。
  5. 评测环境为 NOI 系列活动标准竞赛环境,编译器版本为 g++ 9.4.0。
  6. 若无特殊说明,结果的比较方式为全文比较 (过滤行末空格及文末回车)。
  7. 对于 C++ 选手,64 位整数输入输出格式为 %lld。
  8. 选手提交的程序源文件必须不大于 100KB。
  9. 对于 C++ 语言的编译选项为 -O2 -std=c++14

题目描述

定义 F(x,a,b)=gcd(xa1,xb1)+1,x>0F(x, a, b) = \gcd(x^a - 1, x^b - 1) + 1, x > 0

特别的,如果 a=0a = 0b=0b = 0F(x,a,b)=0F(x, a, b) = 0

现在给出五个非负整数 m,a,b,c,dm, a, b, c, d

L=F(m,a,b)+1L = F(m, a, b) + 1R=F(m,c,d)R = F(m, c, d)

问集合 {L,L+1,L+2,,R2,R1,R}\{L, L + 1, L + 2, \dots, R - 2, R - 1, R\} 有多少个子集和是 mm 的倍数。

由于答案可能很大,你只需要输出方案数对 998244353998244353 取模后的结果就可以了。

输入格式

输入第一行为一个整数 TT,表示数据组数。

接下来一行 TT 行,每行五个非负整数 m,a,b,c,dm, a, b, c, d

输出格式

对于每组数据,输出答案。

样例 #1

样例输入 #1

3
5 0 0 2 1
4 1 2 2 4
8 3 2 4 6

样例输出 #1

8
1024
527847872

提示

【样例解释】

经过计算可知 L=1L=1R=5R=5,集合是 1,2,3,4,51,2,3,4,5,满足条件的子集和有以下 88 个:

{}\{\}{5}\{5\}{2,3}\{2, 3\}{1,4}\{1, 4\}{1,2,3,4}\{1, 2, 3, 4\}{2,3,5}\{2, 3, 5\}{1,4,5}\{1, 4, 5\}{1,2,3,4,5}\{1, 2, 3, 4, 5\}

【数据范围】

测试点编号 mm LL RR aa bb cc dd TT 特殊性质
11 m=2m=2 L=1L=1 R=2R=2 a=0a=0 b=0b=0 c10c\leq 10 d10d\leq 10 T5T\leq 5
22 m10m\leq 10 R=mR=m
33 m5m\leq 5 L103L\leq 10^3 R103R\leq 10^3 a10a\leq 10 b10b\leq 10 11
464\sim 6 m20m\leq 20 L2×103L\leq 2\times 10^3 R2×103R\leq 2\times 10^3
77 L105L\leq 10^5 R105R\leq 10^5 a102a\leq 10^2 b102b\leq 10^2 c102c\leq 10^2 d102d\leq 10^2 22
8,98,9 m80m\leq 80 L109L\leq 10^9 R109R\leq 10^9
101310\sim 13 m2×103m\leq 2\times 10^3 L1018L\leq 10^{18} R1018R\leq 10^{18} a103a\leq 10^3 b103b\leq 10^3 c103c\leq 10^3 d103d\leq 10^3
141714\sim 17 m105m\leq 10^5
182018\sim 20 m107m\leq 10^7 T104T\leq 10^4
  • 特殊性质 1:RL+120R - L + 1 \leq 20
  • 特殊性质 2:RL+12000R - L + 1 \leq 2000

对于全部数据,保证 L<RL < Rm>0m > 0