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.InputStreamReader;

public class Main {
    public static void main(String args[]) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String inputString;

        while((inputString = br.readLine()) != null) {
            // inputs.length = 6ツづ債陛崢湘伉つウツづェツづつ「ツづゥ
            double[] inputs = stringsToDoubles(inputString.split(" "));
            // ツ係ツ青板行ツ療ア
            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]);
        }
    }

    private static double[] stringsToDoubles(String[] s) {
/*        double[] results = new double[s.length];

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

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

}