Ви граєте в популярну відеогру, відому своєю захопливою історією та цікавими головоломками. У грі вас замкнули в таємничому будинку, і ви не можете покликати на допомогу, тому повинні вибратися самостійно. Майже в кожній кімнаті будинку є головоломки, які потрібно вирішити, щоб перейти до наступної кімнати.
Одна з головоломок, з якою ви зіткнулися, виглядає так: у кімнаті є пристрій у формі куба, що лежить на столі в центрі. На стіні написані інструкції:
"Цей куб є пультом дистанційного керування, за допомогою якого ви можете маніпулювати віддаленою кімнатою, Кімнатою Куба. Кімната має кубічну форму, її поверхні складаються з 3 \times 3 одиничних квадратів, деякі з яких мають отвори, достатньо великі, щоб ви могли пройти. Ви можете обертати куб так, що під час обертання принаймні один край завжди торкається столу, тобто в напрямках. Обертання куба впливає на віддалену кімнату так само, змінюючи положення отворів. Щоб пройти через кімнату, отвори повинні бути принаймні на одному з нижніх трьох квадратів на передній і задній стороні кімнати."
На моніторі ви бачите поточні положення отворів. Перед тим, як увійти в Кімнату Куба, потрібно обернути куб так, щоб ви могли пройти через кімнату. Оскільки обертання займає час, якого у вас небагато, потрібно мінімізувати кількість обертань. Скільки обертань вам потрібно, щоб пройти через Кімнату Куба?
Вхідні дані складаються з кількох наборів. Кожен набір містить таблиць розміром 3 \times 3 символів, що описують початкове положення отворів на кожній стороні. Кожен символ — це або '*', або '.'. Отвір позначається символом '*'. Порядок сторін: передня, права, задня, ліва, верхня, нижня. Порядок і орієнтація описані на цій розгортці:

Рисунок 1: Кімната Куба

Рисунок 2: доступні обертання куба

Після кожного набору даних є порожній рядок. Кінець введення позначається символом '#'.
Виведіть мінімальну кількість обертань, необхідних для кожного набору даних, у рядку. Ви можете припустити, що всі набори даних мають рішення.
Приклад 1