#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < n; ++i)
typedef long long ll;
using namespace std;

int main() {
    ll S, P;
    cin >> S >> P;

    vector<ll> div;
    for (ll i = 1; i * i <= P; ++i) {
        if (P % i == 0) {
            div.push_back(i);
            if (i * i != P)
                div.push_back(P / i);
        }
    }

    for (ll d : div) {
        ll a = d;
        ll b = P / a;
        if (a + b == S) {
            cout << "Yes" << endl;
            return 0;
        }
    }
    cout << "No" << endl;

    return 0;
}
#include <iostream>
using namespace std;

long S, P;

int main() {
    cin >> S >> P;

    for ( int i = 0; i < 10000000; i++ ) {
        if ( ( i * (S-i) ) == P ) {
            cout << "Yes" << endl;
            goto END;
        }
    }
    cout << "No" << endl;
END:
    return 0;
}