def lscan; gets.split.map(&:to_i); end

n, z = lscan

if n == 1
  if z == 1
    puts 'No'
  else
    puts 'Yes'
  end
  exit
end

zn = z**n
(1..1000).each do |x|
  break if x**n > zn
  (1..1000).each do |y|
    xy = x**n+y**n
    break if xy > zn
    if xy == z**n
      puts 'Yes'
      exit
    end
  end
end
puts 'No'