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.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.sql.Time;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.TreeMap;
import java.util.Vector;

import com.sun.org.apache.bcel.internal.generic.GOTO;

public class home {
	public static void main(String[] args) {

		InputStream inputStream = System.in;
		OutputStream outputStream = System.out;
		InputReader in = new InputReader(inputStream);
		PrintWriter out = new PrintWriter(outputStream);
		TaskA solver = new TaskA();
		solver.solve(1, in, out);
		out.close();
	}

	// ---------------------------------------------------
	static class TaskA {

		public void solve(int testNumber, InputReader in, PrintWriter out) {
			// -------- Write Task Code ----------

			int primes[] = getPrimesArray(100);

			int n = in.nextInt();
			int m = in.nextInt();
			int nextPrime = 0;
			for (int j = n + 1; j < 100; j++) {
				if (primes[j] == 0) {
					nextPrime = j;
					break;
				}
			}

			System.out.println(nextPrime == m ? "YES" : "NO");

			// ------- finish Task Code ---------
		}

		/** Get Primes Numbers List a Long */
		public static int[] getPrimesArray(int x) {
			int arr[] = new int[1000000 + 1]; /// here zero is taken as true
			for (int i = 2; i * i <= 1000000; i++) {
				if (arr[i] == 0) {
					for (int j = i * i; j <= 1000000; j += i) {
						arr[j] = 1;
					}
				}
			}
			arr[1] = 1;

			return arr;
		}

		public static ArrayList<String> SplitString(String num) {
			ArrayList<String> numbers = new ArrayList<>();
			String[] j = num.split("");
			for (int f = 0; f < num.length(); f++) {
				numbers.add(j[f]);
			}
			return numbers;
		}

		public static ArrayList<Integer> SplitInteger(int num) {
			ArrayList<Integer> numbers = new ArrayList<>();
			String number = String.valueOf(num);
			for (int f = 0; f < number.length(); f++) {
				int j = Character.digit(number.charAt(f), 10);
				numbers.add(j);
			}
			return numbers;
		}
		
	}

	static class InputReader {
		public BufferedReader reader;
		public StringTokenizer tokenizer;

		public InputReader(InputStream stream) {
			reader = new BufferedReader(new InputStreamReader(stream), 32768);
			tokenizer = null;
		}

		public String next() {
			while (tokenizer == null || !tokenizer.hasMoreTokens()) {
				try {
					tokenizer = new StringTokenizer(reader.readLine());
				} catch (IOException e) {
					throw new RuntimeException(e);
				}
			}
			return tokenizer.nextToken();
		}

		public long nextLong() {
			return Long.parseLong(next());
		}

		public int nextInt() {
			return Integer.parseInt(next());
		}

	}
}
