#include <iostream>

using namespace std;

int isPrime(int m)
{
	int yes = 1; //YES possibly
	for (int i = 2; i*i <= m; i++) {
		if ((m % i) == 0) {
			yes = 0;
			return yes;
		}
	}
	return yes;
}

int isHappy(int m)
{
	int n = m;
	int sum = 0;
	int yes = 0;
	for (int i = 0; i < 1000; i++) {
		while (n > 0) {
			sum += (n%10)*(n%10);
			n /= 10;
		}
		if (sum == 1) {
			yes = 1;
			return yes;
		}
		n = sum;
		sum = 0;
	}
	return yes;

}

int main() {
	int P; cin >> P;
	while (P--) {
		int K; cin >> K;
		int m; cin >> m;
		int yes = 1;

		yes = isPrime(m);
//		cout << " YES IS " << yes << endl;
		if (m == 1) {
			yes = 0;
		}
		if (yes == 1 && isHappy(m))
			cout << K << " " << m << " YES" << endl;
		else
			cout << K << " " << m << " NO" << endl;
	}
	return 0;
}