Prosty ruch, raz za razem…
t.A.T.u., «A Simple Motion»
Julia bardzo lubi proste ruchy, zwłaszcza w przestrzeni trójwymiarowej! Ostatnio znalazła macierz odpowiadającą pewnemu obrotowi wokół osi przechodzącej przez początek układu współrzędnych.
Macierz obrotu $A$ przemieszcza punkt $\begin{pmatrix}x\\y\\z\end{pmatrix}$ do punktu $\begin{pmatrix}x'\\y'\\z'\end{pmatrix}$ w następujący sposób:
$$ \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}. $$
Obrót można też opisać geometrycznie za pomocą wektora jednostkowego (czyli o długości $1$) $v=\begin{pmatrix}v_x\\v_y\\v_z\end{pmatrix}$, wokół którego odbywa się obrót, oraz kąta obrotu $\alpha$. Załóżmy, że patrzysz na początek układu z końca wektora $v$. Wtedy, jeśli obrót odbywa się przeciwnie do ruchu wskazówek zegara, kąt $\alpha$ jest dodatni, a w przeciwnym razie jest ujemny.
Julia chce wyrazić geometrycznie obrót zadany macierzą. Niestety nie zna wartości $v$ i $\alpha$, więc poprosiła cię o ich znalezienie, aby mogła kontynuować swój prosty ruch.
Wejście
Dana jest macierz $A$: trzy wiersze, każdy zawierający trzy liczby rzeczywiste. Każda liczba ma co najwyżej $20$ cyfr po przecinku. Zagwarantowano istnienie takich $v$ i $\alpha$, że $1\le|\alpha|\le179$, a ponadto elementy macierzy $A'$, odpowiadającej obrotowi wokół wektora $v$ o kąt $\alpha$, różnią się od odpowiednich elementów $A$ co najwyżej o $10^{-13}$.
Wyjście
W pierwszym wierszu wypisz kąt $\alpha$ w stopniach. W drugim wierszu wypisz współrzędne wektora jednostkowego $v$. Wszystkie liczby wypisz tak dokładnie, jak to możliwe. Odpowiedź zostanie uznana za poprawną, jeśli różnica między $A_{ij}$ a odpowiednim elementem macierzy skonstruowanej z twojego kąta i wektora jednostkowego nie przekroczy $10^{-6}$.
Przykład
Wejście 1
0 -1 0 1 0 0 0 0 1
Wyjście 1
90 0 0 1