import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        long n = scanner.nextLong();

        if (isPrime(n)) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    }

    /**
     * 判断一个数是否为质数
     * @param n 要判断的数
     * @return 如果是质数返回true,否则返回false
     */
    private static boolean isPrime(long n) {
        // 小于等于1的数不是质数
        if (n == 1) {
            return false;
        }

        // 2和3是质数
        if (n == 2 || n == 3) {
            return true;
        }

        // 能被2或3整除的数不是质数
        if (n % 2 == 0 || n % 3 == 0) {
            return false;
        }

        // 检查从5开始的数,步长为6
        // 因为除了2和3,所有质数都可以表示为6k±1的形式
        // 上面检查被2和3整除,已经排除了6k, 6k+2, 6k+3, 6k+4的形式
        for (long i = 5; i * i <= n; i += 6) {
            if (n % i == 0 || n % (i + 2) == 0) {
                return false;
            }
        }

        return true;
    }
}