package main import "fmt" func icbrt(n int) int { lo, hi := n, 1 for lo > 0 { lo = lo >> 3 hi = hi << 1 } for { m := (hi + lo) / 2 if m*m*m > n { hi = m - 1 } else if n >= (m+1)*(m+1)*(m+1) { lo = m + 1 } else { return m } } } func main() { var N int fmt.Scan(&N) x := icbrt(N) if x*x*x == N { fmt.Println("Yes") } else { fmt.Println("No") } }