#S1004. 最小公倍数数列

最小公倍数数列

题目描述

对于正整数 nn,定义 AnA_n1,2,,n1, 2, \dots, n 的最小公倍数。 例如,$A_1 = 1, A_2 = 2, A_3 = 6, A_4 = 12, A_5 = 60, A_6 = 60, \dots$

给定正整数 L,RL, R,请问数列 (AL,AL+1,,AR)(A_L, A_{L+1}, \dots, A_R) 中包含多少种不同的整数?

输入格式

输入以如下格式从标准输入读入:

L R

输出格式

输出数列 (AL,AL+1,,AR)(A_L, A_{L+1}, \dots, A_R) 中不同整数的个数。

输入输出样例

样例 1

输入

4 12

输出

6

样例说明

枚举 A4A_4A12A_{12} 如下:

  • A4=12A_4 = 12
  • A5=60A_5 = 60
  • A6=60A_6 = 60
  • A7=420A_7 = 420
  • A8=840A_8 = 840
  • A9=2520A_9 = 2520
  • A10=2520A_{10} = 2520
  • A11=27720A_{11} = 27720
  • A12=27720A_{12} = 27720

因此,(A4,A5,,A12)(A_4, A_5, \dots, A_{12}) 中包含 6 种不同的整数。

样例 2

输入

123456789 123456789

输出

1

样例 3

输入

99999999000000 100000000000000

输出

310458

限制条件

  • 对于 30% 的数据,1LR50001 \le L \le R \le 5000
  • 对于 70% 的数据,1LR1061 \le L \le R \le 10^6
  • 对于 100% 的数据,1LR1014;RL106;L,R1 \le L \le R \le 10^{14}; R - L \le 10^6; L, R 为整数