时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
最近张老师对半素数感兴趣。半素数(semi-prime)是可以表示成两个素数乘积的数。比如4和10是半素数,因为4=2×2,10=2×5。而8不是半素数,因为8=2×2×2。他想知道某一个l到r的闭区间内有多少个这样的数。但是这个问题太困难了,他想让你帮他解决。
输入描述:
输入一行,包含两个数l,r(1<=l<=r<=1010,r-l<=105),表示所求闭区间
输出描述:
第一行一个数n,表示一共有多少个半素数。
后面跟n行,每行三个整数pi ai bi,表示pi是半素数,是两个素数ai和bi的乘积
输出的n个半素数按照递增的顺序。对于每一行,ai<=bi
示例1
输出
复制
4
4 2 2
6 2 3
9 3 3
10 2 5