using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[] NMi => ReadLine().Split().Select(c => int.Parse(c) - 1).ToArray(); static int[][] NMap(int n) => Enumerable.Repeat(0, n).Select(_ => NMi).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (n, z) = (c[0], c[1]); WriteLine(Theo(n, z) ? "Yes" : "No"); } static bool Theo(int n, int z) { if (n == 1) { return z > 1; } var x = new int[z + 1]; for (var i = 1; i < x.Length; ++i) { x[i] = 1; for (var j = 0; j < n; ++j) x[i] *= i; } for (var i = 1; i < x.Length; ++i) for (var j = i; j < x.Length; ++j) { if (x[i] + x[j] == x[z]) { return true; } } return false; } }