#L4766. 「ROIR 2025 Day1」质乘数

    ID: 3920 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>组合数学数论数位统计容斥原理字符串处理大数处理

「ROIR 2025 Day1」质乘数

题目描述

译自 ROI Regional 2025 Day1 T2. Простоватые числа

我们将一个数称为质乘数,当且仅当它的十进制数字的乘积是一个质数。例如,1212 是质乘数,而 2929 则不是。

你的任务是计算从 llrr(包括 llrr)之间的质乘数的数量。

若一个整数 p>1p > 1,并且它只有两个正整数因数:11pp,那么称 pp 为质数。


输入格式

第一行包含一个整数 ll (1l101000001 \leq l \leq 10^{100\,000})

第二行包含一个整数 rr (lr10100000l \leq r \leq 10^{100\,000})

请注意,这些数字的长度超出了大多数编程语言的标准整数类型范围,特别是在 C++ 中。因此,需要以特殊的方式读取输入,例如将其作为字符串读取。


输出格式

输出从 llrr 之间质乘数的数量。


样例

输入

42
179

输出

10

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制 子任务依赖
1 19 1lr1061 \leq l \leq r \leq 10^6
2 26 1lr10181 \leq l \leq r \leq 10^{18} 1
3 12 l=1l=1, r=10kr=10^k (1k1051 \leq k \leq 10^5)
4 18 1lr1010001 \leq l \leq r \leq 10^{1000} 1,2
5 25 无附加限制