#include <bits/stdc++.h>
int main(void) {
  int UW, UH, A, B, AB;
  double PI = 4.0 * atan(1);
  while (scanf("%d%d%d%d%d", &UW, &UH, &A, &B, &AB) == 5 &&
         (UW | UH | A | B | AB) != 0) {
    double ra = sqrt(A / PI);
    double rb = sqrt(B / PI);
    double xa = ra, ya = ra;
    double xbs = UW - rb, ybs = UH - rb;
    double left = 0, right = 2;
    int i;
    if (ra + ra > UW + 1e-9 || ra + ra > UH + 1e-9 || rb + rb > UW + 1e-9 ||
        rb + rb > UH + 1e-9) {
      puts("impossible");
      continue;
    }
    for (i = 0; i < 100; i++) {
      double mid = (left + right) / 2.0;
      double xb = xa + (xbs - xa) * mid;
      double yb = ya + (ybs - ya) * mid;
      double dist = sqrt((xb - xa) * (xb - xa) + (yb - ya) * (yb - ya));
      double ab;
      if (dist >= ra + rb) {
        ab = 0;
      } else if (dist <= fabs(ra - rb)) {
        ab = A <= B ? A : B;
      } else {
        double x = (ra * ra - rb * rb + dist * dist) / (2.0 * dist);
        double y = sqrt(ra * ra - x * x);
        ab = ra * ra * atan2(y, x) + rb * rb * atan2(y, dist - x) - dist * y;
      }
      if (ab > AB) {
        left = mid;
      } else {
        right = mid;
      }
    }
    if (left > 1.0 + 1e-9) {
      puts("impossible");
    } else {
      printf("%.15f %.15f %.15f %.15f %.15f %.15f\n", xa, ya, ra,
             xa + (xbs - xa) * left, ya + (ybs - ya) * left, rb);
    }
  }
  return 0;
}
