Напевно, всім відома дитяча гра «п'ятнашки». У цій задачі ми розглянемо простішу гру — «вісімки». Ігрове поле в цій грі має вигляд квадрата розміром 3 \times 3 клітини. Є квадратних фішок, пронумерованих цифрами від до . Ці фішки у довільному порядку розташовані в клітинах поля. Одна клітина залишається вільною. За один хід можна перемістити у вільну клітину будь-яку з сусідніх фішок, тобто фішку, що стоїть праворуч чи ліворуч, або зверху чи знизу від вільної клітини. Мета гри — пересуваючи фішки по ігровому полю описаним вище способом, розставити всі фішки у правильному порядку:
Цифра позначає вільну клітину. Для заданого початкового розташування фішок потрібно визначити мінімальну кількість ходів, за яку можна розставити фішки у правильному порядку.
Вхідний файл містить початкову позицію у грі. Позиція задається трьома рядками, у кожному з яких записано три цифри без пропусків. Для завдання позиції використовуються цифри від до . Кожна цифра трапляється рівно один раз.
Єдиний рядок вихідного файлу має містити мінімальну кількість ходів, за яку можна розставити фішки у правильному порядку. Якщо вхідні дані такі, що розставити фішки неможливо — виведіть (мінус один). Вивід повинен завершуватися переводом рядка.
Приклад 1