#P5095. 半质数

半质数

题目描述

上完体育课,小 T 同学去校园超市买了瓶水,喝完后就直接去机房上编程课了。给创新实验班上编程课的 Q 教练曾经培养出过世界冠军金斌大神,这是小 T 和他的小伙伴们的偶像。小 T 同学从小学起就一直在金斌学长亲手开发的在线评测系统上提交程序,想起初学编程时记不住 continue 等单词,Q 教练总会不厌其烦地拼给他听。初三后小 T 很久没写程序、没见到 Q 教练了,今天的编程课让他格外期待。

Q 教练在课上提出了寻找给定范围内半质数的问题,相关定义如下:

  • 质数(素数):大于 1 的自然数中,只能被 1 和本身整除的数(也可定义为只有 1 和本身两个因数的数)。
  • 半质数:一个正整数 N 恰好能够分解成两个质数的乘积(两个质数可以相同)。例如,4=2×2、15=3×5 都是半质数;12=2×2×3 不是半质数(分解出 3 个质数)。

输入格式

输入数据仅有一行包含两个用空格隔开的正整数 S 和 E,其中 2≤S≤E<5000000。

输出格式

输出数据仅有一行包含一个整数,表示在 S 到 E 之间共有多少个半质数。

样例输入

4 26

样例输出

10

提示

  1. 样例解释:在 4 到 26 之间共有 10 个半质数,分别是 4、6、9、10、14、15、21、22、25、26。
  2. 数据范围:
    • 30%的数据满足:2≤S≤E<500
    • 60%的数据满足:2≤S≤E<50000
    • 100%的数据满足:2≤S≤E<5000000