#include <iostream>
#include <set>

int pow(int x, int n) {
    int ret = 1;
    while (n--) ret *= x;
    return ret;
}

void solve() {
    int n, z;
    std::cin >> n >> z;

    std::set<int> s;
    for (int x = 1; x <= z; ++x) s.insert(pow(x, n));

    for (auto x : s) {
        if (s.count(pow(z, n) - x)) {
            std::cout << "Yes\n";
            return;
        }
    }

    std::cout << "No\n";
}

int main() {
    std::cin.tie(nullptr);
    std::ios::sync_with_stdio(false);

    solve();

    return 0;
}