因数之和
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

定义 f(x) 表示 x 的所有因数之和。
现有 n 个询问,每次查询闭区间 [l, r] 内有多少个整数 x 满足 f(x) \ge 2x
请回忆:一个整数 x 的因数是所有能够整除 x 的正整数。例如:
  • 数字 6 的因数有 1236,所以 f(6) = 1 + 2 + 3 + 6 = 12
  • 数字 10 的因数有 12510,所以 f(10) = 1 + 2 + 5 + 10 = 18

输入描述:

第一行一个整数 n1 \le n \le 2 \times 10^5),表示询问的个数。
接下来 n 行,每行两个整数 l, r1 \le l \le r \le 10^6),表示查询的闭区间 [l, r]

输出描述:

输出共 n 行,每行一个整数表示询问的结果。
示例1

输入

复制
6
3 9
7 13
15 28
6 27
32 37
20 30

输出

复制
1
1
4
5
1
4