fn main() { let mut temp = String::new(); std::io::stdin().read_line(&mut temp).ok(); let temp: Vec = temp.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let a = temp[0]; let b = temp[1]; let minval = a.min(b); let maxval = a.max(b); let mut flg = false; for i in 1..30 { if minval.pow(i) > maxval { break; } if minval.pow(i) == maxval { flg = true; break; } } if flg { println!("Yes"); } else { println!("No"); } }