#include <bits/stdc++.h>
using namespace std;
int a, b, l;
double W(double alpha) {
  return (a + b * l * cos(alpha) / (l * sin(alpha)) - l * cos(alpha)) /
         sqrt(1 + ((l * cos(alpha) / (l * sin(alpha))) *
                   (l * cos(alpha) / (l * sin(alpha)))));
}
int main() {
  scanf("%d%d%d", &a, &b, &l);
  if (l <= a || l <= b) {
    printf("%.8lf", min(a, min(b, l)) * 1.0000000000);
    return 0;
  }
  double L = 0, R = 3.14159265358979323846 / 2.00000000000;
  while (L + 1e-10 < R) {
    double l = L + (R - L) / 3.0000000000,
           r = L + (R - L) / 3.0000000000 * 2.000000000;
    if (W(l) < W(r))
      R = r;
    else
      L = l;
  }
  if (W(L) < 0)
    puts("My poor head =(");
  else
    printf("%.9lf", W(L));
}
