#P1886. 「THUSCH 2017」杜老师

「THUSCH 2017」杜老师

题目描述

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

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

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

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

输入格式

从标准输入读入数据。

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

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

接下来 TT 行,第 i+1i+1 行两个正整数 Li,RiL_i,R_i 表示第 ii 组测试数据的 L,RL,R,保证 1≤Li≤Ri≤1071\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=1TRi−Li+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} Ri−Li≤22R_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} Ri−Li≥999,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}