#include <bits/stdc++.h>
#define rep(a,n) for (int a = 0; a < (n); ++a)
using namespace std;
using ll = long long;
typedef pair<int,int> P;
typedef pair<ll,P> PP;
typedef vector<vector<int> > Graph;
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }
const ll INF = 1e18;



int main(){
    ll n,z;
    cin >> n >> z;
    if(n>=3){
        cout << "No" << endl;
        return 0;
    }
    if(n==1){
        if(z==1){
            cout << "No" << endl;
        }
        else{
            cout << "Yes" << endl;
        }
        return 0;
    }
    for(int i=1;i<z;i++){
        for(int j=1;j<z;j++){
            if(i*i+j*j==z*z){
                cout << "Yes" << endl;
                return 0;
            }
        }
    }
    cout << "No" << endl;
    return 0;
}