Задачі
Кубики
Кубики
У коробці \textbf{3}×\textbf{3}×\textbf{1} (ширина×довжина×высота), яку встановлено горизонтально на столі в один шар лежать вісім кубиків \textbf{1}×\textbf{1}×\textbf{1} таким чином, що їх грані паралельні граням коробки. У кожного кубика \textbf{5}-ть з \textbf{6}-ти граней білі і одна - червона.
За один хід Вам дозволено перекотити довільний з кубиків (сусідніх з вільним місцем) на вільне місце через його ребро. Фінальне положення - вільне місце знаходиться у центрі коробки, а червоні грані усіх кубиков знаходяться у напрямку спостерігача (вважається, що Ви дивитесь на коробку згори). Ваша задача визначити мінімальну кількість ходів, необхідних для перетворення початкового положення у фінальне.
\InputFile
Вхідний файл містить \textbf{3} рядки по \textbf{3} символи у кожному. Кожен символ показує положення червоної грані відповідного кубика або вільне місце у початковому положенні:
\begin{itemize}
\item \textbf{.} - вільне місце
\item \textbf{+} - червона грань у напрямку спостергіача
\item \textbf{*} - червона грань у напрямку від спостергігача (до дна коробки)
\item \textbf{U} - червона грань зверху
\item \textbf{D} - червона грань знизу
\item \textbf{L} - червона грань ліворуч
\item \textbf{R} - червона грань праворуч
\end{itemize}
\OutputFile
Вихідний файл повинен містити одне ціле число - відповідь до задачі. Якщо таке перетворення неможливе, то необхіно вивести \textbf{-1}.
Вхідні дані #1
+++ +.+ +++
Вихідні дані #1
0