#include <bits/stdc++.h>
using namespace std;
double a, b, l, w;
double f(double x) { return (sqrt(l * l - x * x) * (b - x) + a * x) / l; }
double ternary(double le, double ri) {
  for (int i = 1; i <= 100; i++) {
    double m1 = le + (ri - le) / 3, m2 = ri - (ri - le) / 3;
    double f1 = f(m1), f2 = f(m2);
    if (f1 < f2)
      ri = m2;
    else
      le = m1;
  }
  return f(le);
}
int main() {
  cin >> a >> b >> l;
  if (a > b) swap(a, b);
  if (l <= a)
    w = l;
  else if (l <= b)
    w = a;
  else
    w = ternary(0, l);
  if (w > 0)
    cout << setprecision(7) << fixed << w << '\n';
  else
    cout << "My poor head =(\n";
}
