#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-7;
int a, b, l;
double ans;
int get() {
  int f = 0, v = 0;
  char ch;
  while (!isdigit(ch = getchar()))
    if (ch == '-') break;
  if (ch == '-')
    f = 1;
  else
    v = ch - 48;
  while (isdigit(ch = getchar())) v = v * 10 + ch - 48;
  if (f == 1) return -v;
  return v;
}
double calc(double y) {
  double x = sqrt(double(l) * l - y * y);
  return (y * a + x * (b - y)) / double(l);
}
int main() {
  a = get(), b = get(), l = get();
  if (a > b) swap(a, b);
  if (l <= a) {
    printf("%d.0000000\n", l);
    return 0;
  }
  if (l <= b) {
    printf("%d.0000000\n", a);
    return 0;
  }
  double L = 0, R = l;
  while (R - L > eps) {
    double d = (R - L) / 3, m1 = L + d, m2 = R - d;
    if (calc(m1) > calc(m2))
      L = m1;
    else
      R = m2;
  }
  double w = calc(L);
  if (w <= eps)
    printf("My poor head =(\n");
  else
    printf("%.7lf\n", w);
  return 0;
}
