Простое движение, снова и снова…
t.A.T.u., «A Simple Motion»
Julia очень любит простые движения, особенно в трёхмерном пространстве! Недавно она нашла матрицу, соответствующую некоторому повороту вокруг оси, проходящей через начало координат.
Матрица поворота $A$ переводит точку $\begin{pmatrix}x\\y\\z\end{pmatrix}$ в $\begin{pmatrix}x'\\y'\\z'\end{pmatrix}$ следующим образом:
$$ \begin{pmatrix}x'\\y'\\z'\end{pmatrix}= \begin{pmatrix}A_{11}&A_{12}&A_{13}\\A_{21}&A_{22}&A_{23}\\A_{31}&A_{32}&A_{33}\end{pmatrix} \times\begin{pmatrix}x\\y\\z\end{pmatrix}. $$
Поворот также можно описать геометрически с помощью единичного (то есть имеющего длину $1$) вектора $v=\begin{pmatrix}v_x\\v_y\\v_z\end{pmatrix}$, вокруг которого происходит вращение, и угла поворота $\alpha$. Предположим, что вы смотрите на начало координат из конца вектора $v$. Тогда, если вращение происходит против часовой стрелки, угол $\alpha$ положителен, иначе он отрицателен.
Julia хочет геометрически выразить поворот, заданный матрицей. К сожалению, Julia не знает значений $v$ и $\alpha$, поэтому она попросила вас найти их, чтобы она могла продолжить своё простое движение.
Входные данные
Дана матрица $A$: три строки, в каждой из которых по три вещественных числа. Каждое число содержит не более $20$ цифр после десятичной точки. Гарантируется, что существуют такие $v$ и $\alpha$, что $1\le|\alpha|\le179$, и при этом элементы матрицы $A'$, соответствующей повороту вокруг вектора $v$ на угол $\alpha$, отличаются от соответствующих элементов $A$ не более чем на $10^{-13}$.
Выходные данные
В первой строке выведите угол $\alpha$ в градусах. Во второй строке выведите координаты единичного вектора $v$. Выводите все числа как можно точнее. Ответ будет считаться верным, если разность между $A_{ij}$ и соответствующим элементом матрицы, построенной по вашему углу и единичному вектору, не превышает $10^{-6}$.
Примеры
Входные данные 1
0 -1 0 1 0 0 0 0 1
Выходные данные 1
90 0 0 1