#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF LLONG_MAX / 5 //#define int long long #define rep(i, n) for (int i = 0; i < n; i++) #define sort(v) sort((v).begin(), (v).end()) #define reverse(v) reverse((v).begin(), (v).end()) #define upper(v,hoge) upper_bound(v.begin(),v.end(),hoge) #define lower(v,hoge) lower_bound(v.begin(),v.end(),hoge) #define enld endl signed main() { int n, z; cin >> n >> z; if (n == 1) { if (z == 1) { cout << "No" << enld; } else { cout << "Yes" << enld; } } else if (n == 2) { for (int x = 1; x <= z; x++) { double y = z * z - x * x; if (y > 0) { y = sqrt(y); if (y == int(y)) { cout << "Yes" << enld; return 0; } } } cout << "No" << enld; } else { cout << "No" << endl; } }