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;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

class Main {
	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		List<String> datasets = new ArrayList<>();
		String dataset;
		double x, y, ad_bc;

		try {
			while((dataset = br.readLine()) != null) {
				datasets.add(dataset);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}

		for(String eachLine : datasets) {
			String[] eachStr = eachLine.split(" ");
			int[] each = new int[eachStr.length];
			for(int i = 0; i < eachStr.length; i++) {
				each[i] = Integer.parseInt(eachStr[i]);
			}

			ad_bc = each[0] * each[4] - each[1] * each[3];
			x = (each[4] / ad_bc * each[2]) + (-each[1] / ad_bc * each[5]);
			y = (-each[3] / ad_bc * each[2]) + (each[0] / ad_bc * each[5]);

			BigDecimal bx = new BigDecimal(x);
			BigDecimal by = new BigDecimal(y);

			System.out.print(bx.setScale(3, BigDecimal.ROUND_HALF_UP) + " " + by.setScale(3, BigDecimal.ROUND_HALF_UP));
		}
	}
}