#P1158. 半素数

半素数

问题描述

最近张老师对半素数感兴趣。半素数(semi-prime)是可以表示成两个素数乘积的数。比如 4 和 10 是半素数,因为 4=2×24 = 2 \times 210=2×510 = 2 \times 5。而 8 不是半素数,因为 8=2×2×28 = 2 \times 2 \times 2。他想知道某一个 llrr 的闭区间内有多少个这样的数。但是这个问题太困难了,他想让你帮他解决。

输入格式

输入一行,包含两个数 l,rl, r1lr10101 \le l \le r \le 10^{10}rl105r - l \le 10^5),表示所求闭区间。

输出格式

第一行一个数 nn,表示一共有多少个半素数。
后面跟 nn 行,每行三个整数 pip_i aia_i bib_i,表示 pip_i 是半素数,是两个素数 aia_ibib_i 的乘积。
输出的 nn 个半素数按照递增的顺序。对于每一行,aibia_i \le b_i

样例输入

1 10

样例输出

4
4 2 2
6 2 3
9 3 3
10 2 5