#include <bits/stdc++.h>
using namespace std;
template <class T>
void chmin(T &a, T b) {
  a = a <= b ? a : b;
}
template <class T>
void chmax(T &a, T b) {
  a = a >= b ? a : b;
}
double calc(double a, double b, double l, double theta) {
  return b * cos(theta) + a * sin(theta) - l * cos(theta) * sin(theta);
}
void solve() {
  double a, b, l;
  cin >> a >> b >> l;
  double ans = 0;
  if (l <= a)
    ans = b;
  else if (l <= b)
    ans = a;
  double r1 = 0, r2 = acos(0);
  for (int i = 0; i < 1000; ++i) {
    double r11 = 2.0 / 3 * r1 + 1.0 / 3 * r2;
    double r22 = 1.0 / 3 * r1 + 2.0 / 3 * r2;
    if (calc(a, b, l, r11) > calc(a, b, l, r22))
      r1 = r11;
    else
      r2 = r22;
  }
  chmax(ans, calc(a, b, l, r1));
  chmin(ans, l);
  if (fabs(ans) <= 1.0e-7)
    cout << "My poor head =(" << endl;
  else
    cout << fixed << setprecision(10) << ans << endl;
}
int main() { solve(); }
