#P7451. [THUSCH2017] 杜老师

[THUSCH2017] 杜老师

题目描述

杜老师可是要打 ++∞ 年 World Final 的男人,虽然规则不允许,但是可以改啊!

但是今年 WF 跟 THUSC 的时间这么近,所以他造了一个 idea 就扔下不管了……

给定 L,RL,R,求从 LLRR 的这 RL+1R-L+1 个数中能选出多少个不同的子集,满足子集中所有的数的乘积是一个完全平方数。特别地,空集也算一种选法,定义其乘积为 11

由于杜老师忙于跟陈老师和鏼老师一起打 ACM 竞赛,所以,你能帮帮杜老师写写标算吗?

输入格式

从标准输入读入数据。

每个测试点包含多组测试数据。

输入第一行包含一个正整数 TT1T1001\le T\le 100),表示测试数据组数。

接下来 TT 行,第 i+1i+1 行两个正整数 Li,RiL_i,R_i 表示第 ii 组测试数据的 L,RL,R,保证 LiRi107\le L_i\le R_i\le10^7

输出格式

输出到标准输出。

输出 TT 行,每行一个非负整数,表示一共可以选出多少个满足条件的子集,答案对 998244353998244353 取模。

3
1 8
12 24
1 1000000
16
16
947158782
6
3761870 4957871
2262774 4279409
3027437 5896884
3884310 5021632
3373244 5464739
5063504 5368121
953622420
551347610
583188135
582472626
190680894
268824018

提示

对于 L=1,R=8L=1,R=8,对应的 1616 种选法为:

  1. 空集
  2. 44
  3. 3,6,83,6,8
  4. 3,4,6,83,4,6,8
  5. 2,82,8
  6. 2,4,82,4,8
  7. 2,3,62,3,6
  8. 2,3,4,62,3,4,6
  9. 11
  10. 1,41,4
  11. 1,3,6,81,3,6,8
  12. 1,3,4,6,81,3,4,6,8
  13. 1,2,81,2,8
  14. 1,2,4,81,2,4,8
  15. 1,2,3,61,2,3,6
  16. 1,2,3,4,61,2,3,4,6
测试点 Id\operatorname*{Id} RiR_i\le TT\le RiLi+1\sum R_i-L_i+1\le 特殊约束
1~2 3030 1010 10310^3 无特殊约束
3 100100 保证答案不超过 5×1065\times 10^6
4 无特殊约束
5~6 10310^3 RL22R-L\le22
7~8 保证答案不超过 2×1062\times 10^6
9~10 5×1035\times10^3 无特殊约束
11~12 10610^6 10710^7 RL999990R-L\ge999990
13~14 无特殊约束
15~20 10710^7 100100 (Id14)×107(\operatorname*{Id}-14)\times 10^7