let rec upper_bound l r p =
  if r <= 1 + l
  then l
  else let m = (l + r) / 2 in
       if p m
       then upper_bound m r p
       else upper_bound l m p

let () = Scanf.scanf "%s %s" @@ fun a b ->
  let ab = int_of_string @@ a ^ b in
  let n = upper_bound 0 200 @@ fun n -> n * n <= ab in
  print_endline @@
    if n * n = ab then "Yes" else "No"