#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int W,H,A,B,AB;
int main()
{
	while(cin>>W>>H>>A>>B>>AB,W)
	{
		double RA=sqrt(A/M_PI);
		double RB=sqrt(B/M_PI);
		double DL=abs(RA-RB),DR=RA+RB;
		for(int tm=0;tm<100;tm++)
		{
			double D=(DL+DR)/2;
			double ta=acos((RA*RA+D*D-RB*RB)/2/RA/D)*2;
			double tb=acos((RB*RB+D*D-RA*RA)/2/RB/D)*2;
			double area=RA*RA*(ta-sin(ta))/2+RB*RB*(tb-sin(tb))/2;
			if(area<AB)DR=D;
			else DL=D;
		}
		double D=DL;
		if(max(RA,RB)*2>min(H,W)||hypot(H-RA-RB,W-RA-RB)<D)
		{
			cout<<"impossible"<<endl;
			continue;
		}
		double theta=atan2(H-RA-RB,W-RA-RB);
		double dh=D*sin(theta);
		double dw=D*cos(theta);
		double XA=RA,YA=RA,XB=RA+dw,YB=RA+dh;
		if(XB<RB)
		{
			double d=RB-XB;
			XA+=d;
			XB+=d;
		}
		if(YB<RB)
		{
			double d=RB-YB;
			YA+=d;
			YB+=d;
		}
		if(XA+RA>W||XB+RB>W||YA+RA>H||YB+RB>H)
		{
			cout<<"impossible"<<endl;
		}
		else
		{
			cout<<fixed<<setprecision(16)<<XA<<" "<<YA<<" "<<RA<<" "<<XB<<" "<<YB<<" "<<RB<<endl;
		}
	}
}

