Problem:
Simultaneous Equation

Write a program which solve a simultaneous equation:

ax + by = c

dx + ey = f

The program should print x and y for given a, b, c, d, e and f (-1,000 ≤ a, b, c, d, e, f ≤ 1,000). You can suppose that given equation has a unique solution.

Input

The input consists of several data sets, 1 line for each data set. In a data set, there will be a, b, c, d, e, f separated by a single space. The input terminates with EOF.

Output

For each data set, print x and y separated by a single space. Print the solution to three places of decimals. Round off the solution to three decimal places.

Sample Input 1

1 2 3 4 5 6
2 -1 -2 -1 -1 -5

Output for the Sample Input 1

-1.000 2.000
1.000 4.000

Sample Input 2

2 -1 -3 1 -1 -3
2 -1 -3 -9 9 27

Output for the Sample Input 2

0.000 3.000
0.000 3.000

Solution in JAVA (judge verdict: Wrong Answer)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main{

	void run() {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String inputString;

		try{
			while((inputString=br.readLine())!=null){
				// inputs.length = 6ツづ債陛崢湘伉つウツづェツづつ「ツづゥ
				if(inputString.length()==0)
					break;
//				double[] inputs=stringsToDoubles(inputString.split(" "));
				String[] s=inputString.split(" ");
				double []inputs=new double[6];
				for(int i=0; i<6; i++)
					inputs[i]=Double.parseDouble(s[i]);

				// ツ係ツ青板行ツ療ア
				double[][] matrix={{inputs[0], inputs[1]}, {inputs[3], inputs[4]}};
				// ツ陛サツ津カツ篠ョツ右ツ陛督づ個ベツクツトツδ仰表ツ記
				double[] vector={inputs[2], inputs[5]};
				// ツ係ツ青板行ツ療アツづ個行ツ療アツ篠ョ
				double det=matrix[0][0]*matrix[1][1]-matrix[0][1]*matrix[1][0];
				// ツ係ツ青板行ツ療アツづ個逆ツ行ツ療ア
				double[][] inverse={{matrix[1][1]/det, -1*matrix[0][1]/det},
						{-1*matrix[1][0]/det, matrix[0][0]/det}};
				// ツ嘉ー
				double[] solution={inverse[0][0]*vector[0]+inverse[0][1]*vector[1],
						inverse[1][0]*vector[0]+inverse[1][1]*vector[1]};
				System.out.printf("%.4g %.4g\n", solution[0], solution[1]);
			}
		}catch(IOException e){
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public static void main(String args[]){
		new Main().run();
	}

	private double[] stringsToDoubles(String[] s){
		double[] results = new double[6];

		for(int i=0; i<6; i++)
			results[i]=Double.parseDouble(s[i]);

		return results;
//		return new double[6];
	}

}