#include using namespace std; #define REP(i,n) for(int i=0; i<(int)(n); i++) #define FOR(i,b,e) for (int i=(int)(b); i<(int)(e); i++) #define ALL(x) (x).begin(), (x).end() const double PI = acos(-1); int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, zt; cin >> n >> zt; int z = 1; for (int i = 0; i < n; i++) z *= zt; unordered_set st; for (int i = 1; i < z; i++) { if (pow(i, n) > 1e7) break; int x = 1; for (int j = 0; j < n; j++) x *= i; st.insert(x); } bool ok = false; for (int x: st) { int y = z - x; if (st.find(y) != st.end()) ok = true; } if (ok) cout << "Yes" << endl; else cout << "No" << endl; return 0; }