文理学院程序设计在线练习


孪生素数猜想

Time Limit: 2 Second(s)    Memory Limit: 32 MB

Total Submission(s): 449   Accepted Submission(s): 160
Problem Description

素数是除了1和它本身之外没有其它因子的自然数。素数是数论中最纯粹、最令人着迷的概念。除了2之外,所有素数都是奇数,因此,大于2的两个相邻素数之间的最小可能间隔是2。

所谓 孪生素数 指的就是这种间隔为 2 的相邻素数,它们之间的距离已经近得不能再近了,就象孪生兄弟一样。最小的孪生素数是 (3, 5),在 100 以内的孪生素数还有 (5, 7), (11, 13), (17, 19), (29, 31), (41, 43), (59, 61) 和 (71, 73),总计有 8 组。但是随着数字的增大,孪生素数的分布变得越来越稀疏,寻找孪生素数也变得越来越困难。那么会不会在超过某个界限之后就再也不存在孪生素数了呢?

1849年,波林那克(右图)提出孪生素数猜想,即猜测存在无穷多对孪生素数。 孪生素数猜想:存在无穷多个素数 p, 使得 p+2 也是素数。

当然,我们的问题要简单一些,给定一个范围[p, q],请你判断该区间是否存在孪生素数。

Input

输入数据首先包含一个整数T(1<=T<=20000),表示测试实例的个数,然后是T组测试数据。每组包括2个整数p,q(2<p<=q<1000000)。

Output

对于每组测试。若存在孪生素数则输出YES,否则输出NO。

Sample Input
3
3 10
41 43
43 46
Sample Output
YES
YES
NO
Hint

数据量较大,输入输出推荐使用scanf和printf

Author

flx

Source

zscas第三届程序设计竞赛