#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1);
const double E = 1e-8;
inline int dblcmp(double x) {
  if (x > -E && x < E) return 0;
  return x > 0 ? 1 : -1;
}
double cals(double a, double b, double c, double d, double ang) {
  double x = (b - c * sin(ang) - d / cos(ang)) / tan(ang);
  return -x;
}
bool solve(double a, double b, double c, double d) {
  double l = 0, r = PI / 2;
  while (l + 1e-9 < r) {
    double m = (r - l) / 3 + l;
    double mm = (r - l) / 3 * 2 + l;
    double mv = cals(a, b, c, d, m);
    double mmv = cals(a, b, c, d, mm);
    if (mv >= mmv)
      r = mm;
    else
      l = m;
  }
  return cals(a, b, c, d, l) <= a;
}
int main() {
  int a, b, c;
  scanf("%d%d%d", &a, &b, &c);
  if (c <= b) {
    printf("%.7lf\n", (double)min(a, c));
  } else if (c <= a) {
    printf("%.7lf\n", (double)min(b, c));
  } else {
    double l = 0, r = min(a, b) + 1;
    while (r - l > 1e-9) {
      double m = (l + r) / 2;
      if (solve(b, a, c, m)) {
        l = m;
      } else {
        r = m;
      }
    }
    double ans = min(l, (double)c);
    ans = floor(ans * 10000000 + 0.5) / 10000000;
    if (!(solve(b, a, c, l)) || l > min(a, b) || dblcmp(ans) <= 0) {
      printf("My poor head =(\n");
    } else {
      printf("%.7lf\n", ans);
    }
  }
  return 0;
}
