#include <bits/stdc++.h>
using namespace std;
const int fin = 0;
const long double eps = 1e-7;
long double a, b, c, y;
inline long double f(const long double &x) {
  return y = sqrt(c * c - x * x), a * x + b * y - x * y;
}
int main() {
  if (fin) {
    freopen("t.in", "r", stdin);
    freopen("t.out", "w", stdout);
  }
  long double l, r, t0, t1, t = 0;
  cin >> a >> b >> c;
  if (c <= b || c <= a) {
    if (c <= b) t = min(a, c);
    if (c <= a) t = max(t, min(b, c));
    return printf("%.16lf", (double)t), 0;
  }
  for (l = 0, r = c; r - l > eps;) {
    t0 = (r - l) / 3, t1 = r - t0, t0 += l;
    if (f(t0) > f(t1))
      l = t0;
    else
      r = t1;
  }
  if (t = f(l) / c, t < eps)
    return puts("My poor head =("), 0;
  else
    printf("%.16lf", (double)min(t, c));
  return 0;
}
