题目描述
数论就是指研究整数性质的一门理论。整数的基本元素是素数,所以,数论的本质是对素数性质的研究。2000年前,欧几里得证明了有无穷个素数。
质数又称素数。指在一个大于 $1$ 的自然数中,除了 $1$ 和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数($1$ 和自己)的自然数即为素数。比 $1$ 大但不是素数的数称为合数。$1$ 和 $0$ 既非素数也非合数。素数在数论中有着很重要的地位。
初学数论的小明对素数产生了浓厚的兴趣,他发现第一个素数是 $2$,接下来是 $3,5,7$。但他们很快就变得不那么频繁。他感兴趣的问题之一是素数在不同的范围中是如何分布的。最近的两个素数是 $2$ 和 $3$,这也是唯一一对差距为 $1$ 的素数。
现在小明想要知道从 $L$ 到 $U$ 的区间中,距离最近的两个素数是多少?如果有多个距离相同的素数对,只要输出最前面一对即可。那么顺便,也请你告诉小明 $L$ 到 $U$ 的区间中距离最大的素数,如果有多对,同样输出靠前的一对。
输入格式
第一行包含两个正整数 $L, U$,表示正整数区间。
- $1 \le L \lt U \lt 2^{31}$
- $U - L \le 1\,000\,000$
输出格式
只有一行,按 `A,B are closest, C,D are most distant.`,其中 $A,B$ $(A \lt B)$ 表示 $L$ 和 $U$ 之间距离最小的一对素数,$C,D$ $(C \lt D)$ 则表示距离最大的一对素数。
若 $L$ 和 $U$ 之间的素数个数少于 $2$ 个,输出 `There are no adjacent primes.`。
样例输出 #1
2,3 are closest, 7,11 are most distant.
样例输出 #2
There are no adjacent primes.