#include <bits/stdc++.h>
using namespace std;
bool isPrime(int x) {
if (x < 2) return false;
for (int i = 2; i * i <= x; i++)
if (x % i == 0) return false;
return true;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
string n;
long long Y;
cin >> n >> Y;
long long S = 0;
for (char c : n) S += c - '0';
int R;
if (n.size() == 1) R = n[0] - '0';
else R = (n[1]-'0') * 10 + (n[0]-'0');
long long A = 0;
long long tempY = Y;
while (tempY) {
A += tempY % 10;
tempY /= 10;
}
double x0 = S + (A % 10);
double y0 = (R + A) % 100;
double x = 21.268443;
double y = 105.204557;
double d = sqrt((x0 - x)*(x0 - x) + (y0 - y)*(y0 - y));
int K = (int) d;
if (isPrime(K)) cout << "YES";
else cout << "NO";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIGlzUHJpbWUoaW50IHgpIHsKICAgIGlmICh4IDwgMikgcmV0dXJuIGZhbHNlOwogICAgZm9yIChpbnQgaSA9IDI7IGkgKiBpIDw9IHg7IGkrKykKICAgICAgICBpZiAoeCAlIGkgPT0gMCkgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHRydWU7Cn0KCmludCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKICAgIHN0cmluZyBuOwogICAgbG9uZyBsb25nIFk7CiAgICBjaW4gPj4gbiA+PiBZOwogICAgbG9uZyBsb25nIFMgPSAwOwogICAgZm9yIChjaGFyIGMgOiBuKSBTICs9IGMgLSAnMCc7CiAgICBpbnQgUjsKICAgIGlmIChuLnNpemUoKSA9PSAxKSBSID0gblswXSAtICcwJzsKICAgIGVsc2UgUiA9IChuWzFdLScwJykgKiAxMCArIChuWzBdLScwJyk7CiAgICBsb25nIGxvbmcgQSA9IDA7CiAgICBsb25nIGxvbmcgdGVtcFkgPSBZOwogICAgd2hpbGUgKHRlbXBZKSB7CiAgICAgICAgQSArPSB0ZW1wWSAlIDEwOwogICAgICAgIHRlbXBZIC89IDEwOwogICAgfQogICAgZG91YmxlIHgwID0gUyArIChBICUgMTApOwogICAgZG91YmxlIHkwID0gKFIgKyBBKSAlIDEwMDsKICAgIGRvdWJsZSB4ID0gMjEuMjY4NDQzOwogICAgZG91YmxlIHkgPSAxMDUuMjA0NTU3OwogICAgZG91YmxlIGQgPSBzcXJ0KCh4MCAtIHgpKih4MCAtIHgpICsgKHkwIC0geSkqKHkwIC0geSkpOwogICAgaW50IEsgPSAoaW50KSBkOwogICAgaWYgKGlzUHJpbWUoSykpIGNvdXQgPDwgIllFUyI7CiAgICBlbHNlIGNvdXQgPDwgIk5PIjsKfQo=