Кубик Рубіка
Студенти, які прийняли участь у Норвежській відкритій першості у змаганні по збиранню кубика Рубіка, настільки захопились головоломкою, що кожен з них придбав собі власний кубик. Викладачі, у свою чергу, прийшли в смятіння, тому що студенти замість того щоб слухати лекції займались збиранням кубика.
У одного професора з'явилась чудова ідея. Він вирішив дати завдання студентам написати програму по збиранню кубика Рубіка. Якщо таку програму буде написано, то у студентів зникне бажання займатись збиранням кубика, і вони знову будуть слушхати лекції. Сам професор не бажає займатись програмуванням, тому він попросив Вас виконати вказану роботу. Професор забрав Ваш кубик, закрив Вас у лабораторії і повідомив, що не віддасть кубик доки Ви не напишите програму по його збиранню.
На щастя, професор не вказав розмір кубика, тому Ви вирішили приступити до написання програми по збірці кубика Рубіка 2×2×2.
Вхідні дані
Первая строка содержит количество тестов T (0 < T ≤ 100). Каждый тест описывается шестью строками, в которых задается начальное состояние кубика, формат которого показан в примере входных данных. Каждый цвет соответствует одной из букв G, R, O, B, Y и W. После каждого теста расположена пустая строка.
Вы можете считать, что все входные кубики являются закодированными версиями настоящего кубика с шестью различными цветами (существует в точности четыре квадрата каждого цвета, из начального состояния всегда можно собрать кубик стандартными вращениями).
Вихідні дані
Для кожного тесту в окремому рядку вивести найменшу кількість обертань, які потрібно здійснити для збирання кубика. Обертанням називається поворот однієй грані на кут 90 градусів за або проти годинникової стрілки. Поворот на 180 градусів вважається двома обертаннями.