#include <bits/stdc++.h>
using namespace std;
double Mx, My, L;
double getvalue(double b) {
  double a = sqrt(L * L - b * b);
  return b * Mx + a * My - a * b;
}
void lemon() {
  cin >> Mx >> My >> L;
  double left = 1e-11, right = L - 1e-11;
  double final = min(getvalue(left), getvalue(right));
  for (int iter = (1); iter <= (100); iter++) {
    double gap = (right - left) / 3;
    double m1 = left + gap, m2 = right - gap;
    if (getvalue(m1) < getvalue(m2))
      right = m2;
    else
      left = m1;
  }
  final = min(final, getvalue(left));
  if (final < 0) final = 0;
  final /= L;
  if (L <= My + 1e-11 && final < Mx) final = Mx;
  if (L <= Mx + 1e-11 && final < My) final = My;
  if (final > Mx) final = Mx;
  if (final > L) final = L;
  if (final + 1e-11 >= 1e-7)
    printf("%.16lf\n", final);
  else
    printf("My poor head =(\n");
}
int main() {
  ios::sync_with_stdio(true);
  lemon();
  return 0;
}
