#P51004. 「THUSCH 2017」杜老师

「THUSCH 2017」杜老师

题目描述

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

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

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

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

输入格式

从标准输入读入数据。

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

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

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

输出格式

输出到标准输出。

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

样例 1

3
1 8
12 24
1 1000000
16
16
947158782

对于 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
6
3761870 4957871
2262774 4279409
3027437 5896884
3884310 5021632
3373244 5464739
5063504 5368121
953622420
551347610
583188135
582472626
190680894
268824018

数据范围与提示

测试点 RiR_i TT i=1TRiLi+1\sum_{i=1}^T R_i-L_i+1 特殊约束
1, 2 30\le 30 10\le 10 103\le 10^{3} 无特殊约束
3 102\le 10^{2} 保证答案不超过 5×1065 \times 10^{6}
4 无特殊约束
5, 6 103\le 10^{3} RiLi22R_i-L_i\le 22
7, 8 保证答案不超过 2×1062 \times 10^{6}
9, 10 5,000\le 5,000 无特殊约束
11, 12 106\le 10^{6} 107\le 10^{7} RiLi999,990R_i-L_i\ge 999,990
13, 14 无特殊约束
15 107\le 10^{7} 100\le 100
16 2×107\le 2 \times 10^{7}
17 3×107\le 3 \times 10^{7}
18 4×107\le 4 \times 10^{7}
19 5×107\le 5 \times 10^{7}
20 6×107\le 6 \times 10^{7}