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 java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Panapreditcion {

 static class FastReader 
    {   BufferedReader br; StringTokenizer st; 
        public FastReader(){ br = new BufferedReader(new InputStreamReader(System.in)); } 
        String next(){while (st == null || !st.hasMoreElements()){ try{st = new StringTokenizer(br.readLine()); }
        catch(IOException  e){e.printStackTrace();}}return st.nextToken();} 
        int nextInt() { return Integer.parseInt(next()); } 
        long nextLong() { return Long.parseLong(next()); } 
        double nextDouble() { return Double.parseDouble(next()); } 
        String nextLine(){ String str = ""; try{ str = br.readLine();}catch (IOException e) { e.printStackTrace(); }  return str;}
    }
    public static void main(String[] args) {
         FastReader scan=new FastReader();
        int primes[]={2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47,53};
        int n=scan.nextInt();
        int m=scan.nextInt();
        for(int i=0;i<primes.length;i++)
        {
            if(primes[i]==n)
            {
                if(i==primes.length-1)
                {
                    System.out.println("NO");
                    return;
                }
                
                else{
                if(primes[i+1]==m)
                {
                    System.out.println("YES");
                    return;
                }
                
                else
                {
                    System.out.println("NO");
                    return;
                }
                
                }
            }
        }
       System.out.println("NO"); 
    }
    
}