#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-9, eps1 = 1e-7;
double a, b, l, sn, cs;
inline double calc(double x) {
  sn = sin(x);
  cs = cos(x);
  return -a * sn + b * cs - l * cs * cs + l * sn * sn;
}
inline double f(double x) {
  sn = sin(x);
  cs = cos(x);
  return a * cs + b * sn - l * sn * cs;
}
int main() {
  scanf("%lf %lf %lf", &a, &b, &l);
  if (l <= a || l <= b) {
    double ans = 0;
    if (l <= a) ans = max(ans, b);
    if (l <= b) ans = max(ans, a);
    ans = min(ans, l);
    printf("%.8lf", ans);
    return 0;
  }
  double L = 0, R = acos(-1.0) / 2.0, mid;
  while (R - L > eps) {
    mid = (L + R) / 2.0;
    if (calc(mid) < 0)
      L = mid;
    else
      R = mid;
  }
  double ans = f(mid);
  if (ans < eps1)
    puts("My poor head =(");
  else
    printf("%.8lf", ans);
  return 0;
}
