#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
template <class T>
inline T gcd(T a, T b) {
  if (a < 0) a = -a;
  if (b < 0) b = -b;
  if (a < b) swap(a, b);
  while (b) {
    T t = b;
    b = a % b;
    a = t;
  }
  return a;
}
double a, b, l;
double f(double x) { return a * sin(x) + b * cos(x) - l * cos(x) * sin(x); }
double res;
int main() {
  scanf("%lf%lf%lf", &a, &b, &l);
  res = l;
  for (double s = 0; s < pi / 2; s += 1.0e-4) {
    double e = min(s + 1.0e-4, pi / 2);
    double l = s;
    double r = e;
    res = min(res, min(f(l), f(r)));
    for (int step = 0, _n = (90); step < _n; step++) {
      double m1 = (l * 2 + r) / 3;
      double m2 = (l + r * 2) / 3;
      if (l == m1 || m1 == m2 || m2 == r) break;
      double q1 = f(m1);
      double q2 = f(m2);
      res = min(res, min(q1, q2));
      if (q1 < q2)
        r = m2;
      else
        l = m1;
    }
  }
  if (a > b) swap(a, b);
  if (l < a + 1.0e-9)
    res = l;
  else if (l < b + 1.0e-9)
    res = max(res, min(a, l));
  if (res > 0)
    printf("%.12lf\n", res);
  else
    printf("My poor head =(\n");
}
