#include <bits/stdc++.h>
using namespace std;
int a, b, l;
double ret;
void init() { scanf("%d%d%d", &a, &b, &l); }
double check(double x) {
  double tmp = sqrt(l * l - x * x);
  return (x * a + tmp * (b - x)) / l;
}
void work() {
  if (a > b) {
    int t = a;
    a = b;
    b = t;
  }
  if (l <= a) {
    ret = l;
    return;
  }
  if (l <= b) {
    ret = a;
    return;
  }
  double L = 0, R = l, m1, m2;
  for (int it = 0; it < 200; it++) {
    m1 = (L * 2 + R) / 3;
    m2 = (L + R * 2) / 3;
    if (check(m1) > check(m2))
      L = m1;
    else
      R = m2;
  }
  ret = check(m1);
}
void print() {
  if (ret < 1e-10)
    printf("My poor head =(\n");
  else
    printf("%.10lf\n", ret);
}
int main() {
  init();
  work();
  print();
  return 0;
}
