#P7122. Transform

    ID: 5979 远端评测题 4000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>“红旗杯”第十五届东北地区大学生程序设计竞赛

Transform

Problem Description

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}$.

1 1 2 3 4 5 6 7
4.084934830 4.801379781 6.104101869