J. Transform
time limit per test
4 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Given you two points $$$(A, B, C)$$$ and $$$(x, y, z)$$$ in 3D space. Let $$$L$$$ be the line cross the point $$$(A, B, C)$$$ and the original point $$$(0, 0, 0)$$$. You will get two points $$$P$$$ and $$$Q$$$ if you rotate point $$$(x, y, z)$$$ around line $$$L$$$ by $$$r$$$ degree and $$$-r$$$ degree. If the $$$z$$$ coordinate of $$$P$$$ is greater than $$$Q$$$, output $$$P$$$. Otherwise, output $$$Q$$$. We guarantee that the solution is unique.

Input

This problem contains multiple test cases.

The first line of the input contains an integer $$$T (1 \leq T \leq 50000)$$$, indicating the number of test cases.

Each of the following $$$T$$$ lines contains seven integers $$$A, B, C, x, y, z, r$$$.

($$$1 \leq A, B, C, x, y, z \leq 100, 1 \leq r < 180$$$).

Output

For each test case, output one line contains three real numbers indicates the coordinate of the answer.

Your answer will be accepted if the absolute or relative error between your answer and the standard answer is less than $$$10^{-6}$$$.

Example
Input
1
1 2 3 4 5 6 7
Output
4.084934830 4.801379781 6.104101869