408475: GYM103145 J Transform

Memory Limit:256 MB Time Limit:4 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

J. Transformtime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard 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}$$$.

ExampleInput
1
1 2 3 4 5 6 7
Output
4.084934830 4.801379781 6.104101869

加入题单

算法标签: