fn main() { let mut nz = String::new(); std::io::stdin().read_line(&mut nz).ok(); let nz: Vec = nz.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let n = nz[0] as u32; let z = nz[1]; let z = z.pow(n); for i in 1..z { let x = i.pow(n); if x > z { break; } for j in 1..=z { let y = j.pow(n); if x + y > z { break; } if x + y == z { println!("Yes"); return; } } } println!("No"); }