#include <bits/stdc++.h>
const double pi = acos(-1);
const int MOD = 1e9 + 7;
const int INF = 1e9 + 7;
const int MAXN = 1e6 + 5;
const double eps = 1e-8;
using namespace std;
int a, b, l;
double f(double w) {
  return (w * a + sqrt(l * l - w * w) * b - w * sqrt(l * l - w * w)) /
         (1. * (double)l);
}
int main() {
  scanf("%d", &(a)), scanf("%d", &(b)), scanf("%d", &(l));
  if (a > b) swap(a, b);
  if (l <= a) return !printf("%d\n", (l));
  if (l <= b) return !printf("%d\n", (a));
  double lo = 0, hi = l;
  while (abs(lo - hi) > eps) {
    double m1 = (lo * 2 + hi) / 3;
    double m2 = (lo + hi * 2) / 3;
    if (f(m1) > f(m2))
      lo = m1;
    else
      hi = m2;
  }
  if (f(lo) < eps)
    printf("My poor head =(");
  else
    printf("%.20f\n", f(lo));
  return 0;
}
