A prime number is a number which has exactly two distinct divisors: one and itself. For example, numbers 2, 7, 3 are prime, and 1, 6, 4 are not.

The next prime number after x is the smallest prime number greater than x. For example, the next prime number after 2 is 3, and the next prime number after 3 is 5. Note that there is exactly one next prime number after each number. So 5 is not the next prime number for 2.

One cold April morning Panoramix predicted that soon Kakofonix will break free from his straitjacket, and this will be a black day for the residents of the Gallic countryside.

Panoramix's prophecy tells that if some day Asterix and Obelix beat exactly x Roman soldiers, where x is a prime number, and next day they beat exactly y Roman soldiers, where y is the next prime number after x, then it's time to wait for Armageddon, for nothing can shut Kakofonix up while he sings his infernal song.

Yesterday the Gauls beat n Roman soldiers and it turned out that the number n was prime! Today their victims were a troop of m Romans (m > n). Determine whether the Gauls should wait for the black day after today's victory of Asterix and Obelix?

Input

The first and only input line contains two positive integers — n and m (2 ≤ n < m ≤ 50). It is guaranteed that n is prime.

Pretests contain all the cases with restrictions 2 ≤ n < m ≤ 4.

Output

Print YES, if m is the next prime number after n, or NO otherwise.

Examples

Input

3 5


Output

YES

Input

7 11


Output

YES

Input

7 9


Output

NO
import sys
def get_ints ():
    return map (int, sys.stdin.readline ().strip ().split ())
def eratosthenes (n, to_print = False, to_list = False):
    """
    This is the sieve of Eratosthenes.As far as I can see implementation of the algorithm is correct. But I am not sure if it is efficient.This function
    gives us the sieve in the form of a dictionary. After the function returns, if a given number is not in the dictionary, then it is prime.
    Parameters

    to_print - if set True, it will print the sieve, and the list of the prime.
    list_prime - if set True, it will print the list of primes.
    """
    sieve = {}
    if to_list:
        list_prime = []
    for i in range (2, n + 1):
        if i in sieve:
            continue
        list_prime.append (i)
        for u in range (i**2, n + 1, i):
            sieve [u] = i
    if to_print:
        pass
        #print ('sieve:', sieve)
        #print ('list of prime:', list_prime)
    return list_prime 

n , m =  get_ints ()
s= eratosthenes (m, to_list = True)
try:
    if s [ s.index (n) + 1] == m:
        print ('YES')
    else:
        print ('NO')
except:
    print ('NO')
