package main import . "fmt" import . "math" func xrt(a, x int) int { p := int(Pow(float64(a),1/float64(x))) for { pp := 1 for i := 0; i < x-1; i++ { pp *= p } if pp < a/p { p++ } else if pp > a/p{ p-- break } else { break } } return p } func main() { var n int Scan(&n) ans := n+1 for j := 2; j <= 62; j++ { i := xrt(n, j) ij := 1 for a := 0; a < j; a++ { ij *= i k := n-ij ans = min(ans, i+a+1+k) } } Println(ans) }