#include using namespace std; typedef long long ll; const double pi=3.141592653589793; typedef unsigned long long ull; typedef long double ldouble; const ll INF=1e18; #define rep(i, n) for(ll i = 0; i < (ll)(n); i++) #define rep2(i, s, n) for (ll i = (s); i < (ll)(n); i++) template inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; } ll pow(ll x, ll n) { ll res = 1; rep(i, n){ res *= x; } return res; } int main(){ int n, z; cin >> n >> z; ll zn = pow(z, n); rep2(x, 1, z) { rep2(y, 1, z){ if(pow(x, n) + pow(y, n) == zn){ cout << "Yes" << endl; return 0; } } } cout << "No" << endl; }