package main
import (
"fmt"
"math"
)
func main() {
var a, b, l float64
if _, err := fmt.Scan(&a, &b, &l); err != nil {
return
}
f := func(theta float64) float64 {
return a*math.Sin(theta) + b*math.Cos(theta) - l*math.Sin(theta)*math.Cos(theta)
}
intervals := 10000
minW := l
for i := 0; i < intervals; i++ {
left := (math.Pi / 2) * float64(i) / float64(intervals)
right := (math.Pi / 2) * float64(i+1) / float64(intervals)
for j := 0; j < 80; j++ {
m1 := left + (right-left)/3.0
m2 := right - (right-left)/3.0
if f(m1) < f(m2) {
right = m2
} else {
left = m1
}
}
if f(left) < minW {
minW = f(left)
}
}
if minW > 1e-8 {
fmt.Printf("%.9f\n", minW)
} else {
fmt.Println("My poor head =(")
}
}