#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;
}