spoj#EVENSEMIP. Even Semiprime Runs
Even Semiprime Runs
A semiprime is a product of two primes such as $9 = 3\times3$ or $580519 = 41\times14159$.
The first ten semiprimes are $4$, $6$, $9$, $10$, $14$, $15$, $21$, $22$, $25$, and $26$.
A run of semiprimes is a contiguous subsequence of semiprimes. For example, $15$, $21$, $22$ is a run but $9$, $14$, $15$ is not because it skips over $10$.
An even run of semiprimes is a run that contains only even numbers. The first even run of length $3$ is $454$, $458$, $466$.
Your task is to find the longest even run of semiprimes between $N$ and $M$, inclusive.
Input
The first line contains $T$ ($1 \le T \le 20$), the number of test cases.
Each test case is one line containing the integers $N$ and $M$ ($1 \le N \le M \le 10^{14}$, $M - N \le 10^7$).
The sum of the differences $M - N$ over all test cases is at most $10^7$.
Output
Print two lines per test case. On the first line, print the length of the longest even run of semiprimes. On the second line, print the numbers in the run.
If there are multiple solutions, print the one with the smallest first number.
It is guaranteed that there is at least one even semiprime between $N$ and $M$.
Example
Input: 16 4 4 4 6 4 8 4 14 6 10 58 62 1 100 1 1000 1 10000 1 100000 1 1000000 5000000 10000000 247425787142 247425787222 247425000000 247425787221 466937174866 466937199999 99999999000000 100000000000000 Output: 1 4 2 4 6 2 4 6 2 4 6 1 6 2 58 62 2 4 6 3 454 458 466 3 454 458 466 3 454 458 466 5 111614 111626 111634 111638 111646 5 5161318 5161322 5161334 5161342 5161346 8 247425787142 247425787162 247425787166 247425787174 247425787178 247425787198 247425787214 247425787222 7 247425787142 247425787162 247425787166 247425787174 247425787178 247425787198 247425787214 4 466937176054 466937176058 466937176066 466937176078 4 99999999199498 99999999199502 99999999199522 99999999199558
Note
This problem was inspired by Zak Seidov's post in the SeqFan mailing list.