// Tom Wexler import java.util.*; import java.io.*; class v { double x,y; public v (double x, double y) { this.x = x; this.y = y; } public v minus (v a) {return new v(x-a.x, y-a.y);} public double mag() {return Math.sqrt(x*x+y*y);} public v scale (double s) {return new v(s*x, s*y);} public double dot(v a) {return x*a.x+y*a.y;} } public class Tom1 { public static double round(double d) { return ((int)(d*100+.5))/100.0; } public static boolean collide(v a, v b, v c, float r) { c = c.minus(a); b = b.minus(a); v proj = b.scale(b.dot(c)/b.dot(b)); if (proj.dot(b) < 0) return false; if (b.minus(proj).dot(b) < 0) return false; return (c.minus(proj).mag() < 2*r); } public static void main(String[] args) { Scanner input = new Scanner(System.in); int w = input.nextInt(); int l = input.nextInt(); int r = input.nextInt(); int x1 = input.nextInt(); int y1 = input.nextInt(); int x2 = input.nextInt(); int y2 = input.nextInt(); int x3 = input.nextInt(); int y3 = input.nextInt(); int h = input.nextInt(); v left = new v(0,l); v right = new v(w,l); v b1 = new v(x1,y1); v b2 = new v(x2,y2); v b3 = new v(x3,y3); v temp = right.minus(b3); v t3 = b3.minus(temp.scale(2*r/temp.mag())); temp = left.minus(b2); v t2 = b2.minus(temp.scale(2*r/temp.mag())); temp = t3.minus(b1); v t1 = b1.minus(temp.scale(2*r/temp.mag())); v mir = t3.minus(b1); v ref = t2.minus(t1); v result = mir.scale(2*mir.dot(ref)/mir.dot(mir)).minus(ref); result = result.scale(1/result.mag()); double x = t1.x - (t1.y-h)/result.y*result.x; double theta = 180+180/Math.PI*Math.atan2(result.y,result.x); v cue = new v(x,h); if (x < r || x > w-r) { System.out.println("impossible"); } else if (result.minus(t1).dot(b1.minus(t1)) >= 0) { System.out.println("impossible"); } else if (t1.minus(t2).dot(b2.minus(t2)) >= 0) { System.out.println("impossible"); } else if (b1.minus(t3).dot(b3.minus(t3)) >= 0) { System.out.println("impossible"); } else if (collide(cue,t1,b2,r)) { System.out.println("impossible"); } else if (collide(cue,t1,b3,r)) { System.out.println("impossible"); } else if (collide(t1,t2,b3,r)) { System.out.println("impossible"); } else if (collide(b1,t3,b2,r)) { System.out.println("impossible"); } else if (t1.x < r || t1.x > w-r || t1.y < r || t1.y > l-r) { System.out.println("impossible"); } else if (t2.x < r || t2.x > w-r || t2.y < r || t2.y > l-r) { System.out.println("impossible"); } else if (t3.x < r || t3.x > w-r || t3.y < r || t3.y > l-r) { System.out.println("impossible"); } else { // System.out.println(""+round(x)+" "+round(theta)); System.out.println(String.format("%.02f %.02f",x,theta)); } } }