#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
const double eps = 1.0e-4;
const double EPS = 1.0e-10;
double solve(double d, double r1, double r2) {
    double p = (d + r1 + r2) * 0.5;
    double s = sqrt(p * (p - d) * (p - r1) * (p - r2));
    double c1 = (r1 * r1 + d * d - r2 * r2) / (2 * r1 * d);
    double c2 = (r2 * r2 + d * d - r1 * r1) / (2 * r2 * d);
    return r1 * r1 * acos(c1) + r2 * r2 * acos(c2) - 2 * s;
}
int Uw, Uh, A, B, AB;
int main() {
    while(scanf("%d %d %d %d %d", &Uw, &Uh, &A, &B, &AB) == 5 && Uw) {
        double rA = sqrt(A / pi), rB = sqrt(B / pi);
        double l = abs(rA - rB), r = abs(rA + rB), d;
        for(int i = 0; i < 100; i ++) {
            d = (l + r) * 0.5;
            if(solve(d, rA, rB) + EPS < AB) {
                r = d;
            } else {
                l = d;
            }
        }
        double a1 = Uw - rA - rB;
        double a2 = Uh - rA - rB;
        double dd = sqrt(a1 * a1 + a2 * a2);
        double dx = d / dd * a1;
        double dy = d / dd * a2;
        double ax = rA, ay = rA, bx = ax + dx, by = ay + dy;
        if(a1 * a1 + a2 * a2 + EPS < d * d) {
            goto impossible;
        }
        if(bx < rB + eps) {
            double delta = rB - bx;
            ax += delta;
            bx += delta;
        }
        if(by < rB + eps) {
            double delta = rB - by;
            ay += delta;
            by += delta;
        }
        if(!(ax + eps > rA && ax < Uw - rA + eps)) {
            goto impossible;
        }
        if(!(ay + eps > rA && ay < Uh - rA + eps)) {
            goto impossible;
        }
        if(!(bx + eps > rB && bx < Uw - rB + eps)) {
            goto impossible;
        }
        if(!(by + eps > rB && by < Uh - rB + eps)) {
            goto impossible;
        }
//        printf("%.10f %.10f %.10f\n", l, rA, rB);
        printf("%.10f %.10f %.10f %.10f %.10f %.10f\n", ax, ay, rA, bx, by, rB);
//        assert(ax + eps > rA && ax < Uw - rA + eps);
//        assert(ay + eps > rA && ay < Uh - rA + eps);
//        assert(bx + eps > rB && bx < Uw - rB + eps);
//        assert(by + eps > rB && by < Uh - rB + eps);
//        assert(abs(d * d - (ax - bx) * (ax - bx) - (ay - by) * (ay - by)) < eps);
        continue;
        impossible:
            printf("impossible\n");
    }
    return 0;
}