Problem: Dark  with his love for the prime numbers wanted to do some arithmetic so he decided to do some additions.
He wants to generate all prime numbers between two given numbers and add them up and decide whether that addition of numbers is a prime number or not?

Confused, Simply print "YES"(without quotes) if the sum of prime numbers between two numbers is a prime number and print "NO"(without quotes) if the sum of prime numbers between two numbers is a non-prime number.

Note:

If there are no prime numbers between two given numbers print "NO" (without quotes).

Input:

The first line contains T, the number of test cases.
Followed by T lines each contain two numbers M and N

Output:

For every test case print the YES if sum is a prime number else print NO.

If no prime number between M and N
then print NO.

Constraints

   1 ≤ T ≤ 10000
   1 ≤ M ≤ N ≤ 1000000

Note: 'M' & 'N'  are inclusive.

Author : Darshak Mehta

SAMPLE INPUT
3
1 9
14 37
1 6

SAMPLE OUTPUT
YES
NO
NO

Explanation

Test Case #1:
Prime numbers between 1 to 9 are 2,3,5,7 and their sum is 17 which is a prime number.

Test Case #3:
Prime numbers between 1 to 6 are 2,3,5 and their sum is 10 which is non-prime number

Solution (in PYTHON):

Solution:
# Sum of prime number
# import time
import sys
# import os
import math

PRIME_NUMS = [2]

def check_prime(n):
	limit = int(math.sqrt(n))
	idx = 0
	while(PRIME_NUMS[idx] <= limit):
		if n % PRIME_NUMS[idx] == 0:
			return(False)
		idx += 1
	return(True)
	
def main():
	m_list = []
	n_list = []
	no_case = int(sys.stdin.readline())
	for _ in range(no_case):
		m, n = sys.stdin.readline().split()
		m_list.append(int(m) - 1)
		n_list.append(int(n))
	
	maxLimit = max(n_list)
	# maxLimit = 1000000
	prime_sets = set()
	prime_sets.add(2)
	prime_sum = [0, 0, 2]
	flage = [1, 0] * (int(maxLimit / 2) + 1)
	for idx in range(2, maxLimit, 2):
		if flage[idx] == 1:
			PRIME_NUMS.append(idx + 1)
			prime_sets.add(idx + 1)
			prime_sum.append(prime_sum[-1] + idx + 1)
			prime_sum.append(prime_sum[-2] + idx + 1)
			for idx_loop in range(idx, maxLimit, idx+1):
				flage[idx_loop] = 0
		else:
			prime_sum.append(prime_sum[-1])
			prime_sum.append(prime_sum[-1])
	
	result = ""
	for idx in range(no_case):
		current_sum = prime_sum[n_list[idx]] - prime_sum[m_list[idx]]
		if current_sum <= maxLimit:
			if current_sum in prime_sets:
				result += "YES\n"
			else:
				result += "NO\n"
		else:
			if check_prime(current_sum):
				result += "YES\n"
			else:
				result += "NO\n"
			
	sys.stdout.write(result)	

# start_time = time.time()
main()
# print("--- ", time.time() - start_time, " seconds ---")