import java.io.*;
import java.math.*;
import java.util.*;

class U {
    static boolean debug = false;
    static void out(String s) { System.out.println(s); }
    static void out_(String s) { System.out.print(s); }
    static void d(String s) { if (debug) out(s); }
    static void d_(String s) { if (debug) out_(s); }
    static void azzert(boolean b) { if (!b) throw new RuntimeException(); }
}

public class D {
	public static void main(String[] args) {
		Scanner console = new Scanner(System.in);

		int P = console.nextInt();

		boolean[] isPrime = sieve();
		boolean[] isHappy = happy();

		for (int p=0; p < P; p++) {
			int K = console.nextInt();
			int n = console.nextInt();

			if (isPrime[n] && isHappy[n]) {
				U.d(K + " " + n + " isPrime: " + isPrime[n]);
				U.d(K + " " + n + " isHappy: " + isHappy[n]);
				U.out(K + " " + n + " YES");
			} else {
				U.d(K + " " + n + " isPrime: " + isPrime[n]);
				U.d(K + " " + n + " isHappy: " + isHappy[n]);
				U.out(K + " " + n + " NO");
			}
		}
	}

	public static boolean[] sieve() {
		boolean[] isPrime = new boolean[10001];
		for (int i = 0; i < isPrime.length; i++) {
			isPrime[i] = true;
		}

		isPrime[0] = false;
		isPrime[1] = false;

		for (int i = 2; i < isPrime.length; i++) {
			if (!isPrime[i]) {
				continue;
			}
			int n = 2*i;
			while (n < isPrime.length) {
				isPrime[n] = false;
				n += i;
			}
		}

		return isPrime;
	}

	public static boolean[] happy() {
		boolean[] isHappy = new boolean[10001];
		boolean[] isVisited = new boolean[10001];

		isHappy[0] = false;
		isHappy[1] = true;
		isVisited[0] = true;
		isVisited[1] = true;


		

		for (int i = 2; i < isHappy.length; i++) {
			int n = i;
			ArrayList<Integer> visited = new ArrayList<Integer>();
			while (!isVisited[n]) {
				visited.add(n);
				isVisited[n] = true;

				int nextN = 0;
				while(n != 0) {
					nextN += (n%10) * (n%10);
					n /= 10;
				}
				n = nextN;
			}
			if (isHappy[n]) {
				// all visited are happy!

				for (int thisVisited : visited) {
					isHappy[thisVisited] = true;
				}
			}
		}

		return isHappy;
	}

}