// #pragma GCC optimize("Ofast") // #pragma GCC optimize("unroll-loops") // #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef unsigned long long ull; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); ll myRand(ll B) { return (ull)rng() % B; } bool solve(int n,int z){ if(n>2)return false; if(n==1){ if(z==1)return false; return true; } for(int i=1;i<1000;i++){ for(int j=1;j<1000;j++){ if(i*i+j*j==z*z)return true; } } return false; } int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); int n,z; cin >> n >> z; if(solve(n,z))printf("Yes\n"); else printf("No\n"); }