#E0032. 最多倍数关系

最多倍数关系

题目描述

给你两个整数 llrr1lr1061 \le l \le r \le 10^6),要求在 llrr 范围内(即整数 l,l+1,,rl, l+1, \ldots, r 中)选出尽可能多的数,满足任意两个选出的数之间都是倍数关系。

也就是说,你需要在从 llrr 范围内的数中选出尽可能多的数,从这些选出来的数中任取两个整数 xxyy,均满足:

xx 能被 yy 整除,或者 yy 能够被 xx 整除。

同时你还需要计算出:有多少种不同的选择方案,能满足选出来的数最多且都是倍数关系。由于满足条件的方案数可能很多,所以你只需要输出方案数模 998244353998244353 的结果即可。

输入格式

输入包含多组测试数据。

输入的第一行包含一个整数 t(1t104)t(1 \le t \le 10^4),表示测试数据组数。

接下来每组测试数据占一行,包含两个整数 llrr,以一个空格分隔(1lr1061 \le l \le r \le 10^6)。

输出格式

对于每组测试数据,输出一行,包含两个整数,以一个空格分隔。其中,第一个整数表示能够选出的彼此之间都是倍数关系的数的最大个数,第二个整数表示选出最多倍数关系的数的不同方案数模 998244353998244353 的结果。

4
3 11
13 37
1 22
4 100
2 4
2 6
5 1
5 7

说明/提示

样例解释

第1组测试数据:

最多能选 22 个数,对应 44 种不同的方案:

  • {3,6}\{ 3,6 \}
  • {3,9}\{ 3,9 \}
  • {4,8}\{ 4,8 \}
  • {5,10}\{ 5,10 \}

第2组测试数据:

最多能选 22 个数,对应 66 种不同的方案:

  • {13,26}\{ 13,26 \}
  • {14,28}\{ 14,28 \}
  • {15,30}\{ 15,30 \}
  • {16,32}\{ 16,32 \}
  • {17,34}\{ 17,34 \}
  • {18,36}\{ 18,36 \}

第3组测试数据:

最多能选 55 个数,对应 11 种不同的方案:

  • {1,2,4,8,16}\{ 1,2,4,8,16 \}

第4组测试数据:

最多能选 55 个数,对应 77 种不同的方案:

  • {4,8,16,32,64}\{ 4,8,16,32,64 \}
  • {4,12,24,48,96}\{ 4,12,24,48,96 \}
  • {4,8,24,48,96}\{ 4,8,24,48,96 \}
  • {4,8,16,48,96}\{ 4,8,16,48,96 \}
  • {4,8,16,32,96}\{ 4,8,16,32,96 \}
  • {5,10,20,40,80}\{ 5,10,20,40,80 \}
  • {6,12,24,48,96}\{ 6,12,24,48,96 \}

数据规模与约定

  • 对于 10%10\% 的数据,t10;r10t \le 10; r \le 10
  • 对于 30%30\% 的数据,t100;r1000t \le 100; r \le 1000
  • 对于 50%50\% 的数据,t1000;r105t \le 1000; r \le 10^5
  • 对于 100%100\% 的数据,1t104;1lr1061 \le t \le 10^4; 1 \le l \le r \le 10^6