#include using namespace std; #define rep(i,n) for(int i = 0; i < (n);i++) #define sz(x) int(x.size()) typedef long long ll; typedef long double ld; typedef pair P; int main() { int n, z; cin >> n >> z; vector v; for (int i = 1; i <= z; i++) { int cur = 1; for (int j = 0; j < n; j++) cur *= i; v.emplace_back(cur); } int ok = 0; for (int i = 0; i < int(v.size()); i++) { int x = v.back() - v[i]; auto itr = lower_bound(v.begin(), v.end(), x); if (*itr == x) ok = 1; } cout << (ok ? "Yes" : "No") << endl; return 0; }