#193. 相邻质数

相邻质数

本题不再额外提供样例文件。

题目描述

如果两个整数 X 和 Y 都是质数, X ≠ Y,且不存在一个质数 Z 满足 X < Z < Y,则称 X、Y 是一对相邻质数。

现在给出两个整数 A, B,求闭区间 [A, B] 中距离最近的相邻质数 C、D (C < D)和距离最远的相邻质数 E、F (E < F)。

如果有多对质数满足要求,则输出 C、E 最小的两对。

注:两个数的距离指的是它们在数轴上的距离,即二者的差的绝对值。

输入格式

多组数据,每组数据一行:两个整数 A, B。

输出格式

每组数据的答案占一行,依次输出 C、D、E、F,数之间以一个空格隔开;如果不存在,则在该行输出 -1

样例输入1

2 3
2 5
4 6
3 7

样例输出1

2 3 2 3
2 3 3 5
-1
3 5 3 5

样例输入2

1000000 1000999
1000000 1234567
1234567000 1234567890
2000000000 2001000000

样例输出2

1000037 1000039 1000457 1000507
1000037 1000039 1098847 1098953
1234567289 1234567291 1234567361 1234567469
2000000087 2000000089 2000888983 2000889167

数据范围与提示

共 10 个测试点,每个测试点不超过 10 组测试数据,全部满足:1A<B<231BA106 1 ≤ A < B < 2^{31}, B - A ≤ 10^6 。其中:

测试点 1:A106BA103 A ≤ 10^6, B - A ≤ 10^3

测试点 2:A106BA106 A ≤ 10^6, B - A ≤ 10^6

测试点 3:B<231BA103 B < 2^{31}, B - A ≤ 10^3

测试点 4-10:B<231BA106 B < 2^{31}, B - A ≤ 10^6