Кубик Рубіка
Ви є секретним агентом Вічно Задоволеного Зовнішнього Розвідувального Управління (EIEIO) країни Номонео. Штаб-квартира замаскувала ваш одноразовий блокнот для зашифрованих комунікацій у формі Кубика Рубіка®. (Для тих, хто не знайомий з головоломкою, Кубик Рубіка® має форму куба, де кожна грань розділена на три рядки і три стовпці (дев'ять “квадратів”). Будь-яка з шести граней куба може бути повернута або за годинниковою стрілкою, або проти годинникової стрілки, що також повертає три найближчі квадрати на кожній прилеглій грані на нову грань, відповідно. Коли куб зібраний (або взятий з фабричної упаковки), кожна грань куба містить квадрати лише одного кольору. Немає способу змінити відношення між кольорами центральних квадратів на кожній грані.) Куб був попередньо перемішаний, і ви повинні застосувати певний набір рухів до куба на основі повідомлення, яке ви хочете повернути.
Ця діаграма надає відношення між сторонами куба, а також орієнтацію граней для цілей введення та виведення. Її слід розглядати як розгорнутий куб з текстом на зовнішній стороні. Грані позначені кольором центрального підрозділу (квадрата) і є Білою, Помаранчевою, Червоною, Синьою, Зеленою та Жовтою. Кут з точкою є верхнім лівим кутом для цілей введення та виведення.
Вхідні дані
Ваша програма повинна зчитувати вхідні дані з файлу, які складаються з декількох випадків. Перша строка вхідних даних вказує кількість цих вхідних випадків (у вигляді десяткового цілого числа без будь-яких розділових знаків), яке буде більше або дорівнювати 1 і менше або дорівнювати 10,000. Кожен випадок складається з трьох рядків, що дають початковий стан куба-головоломки, і одного рядка, що дає обертання, які ви повинні застосувати, щоб досягти відповідного кінцевого стану куба.
Кожен з трьох рядків, що дають початковий стан куба, складається з 18 літер з одним пробілом між кожною парою літер. Немає пробілу між останньою літерою та кінцем рядка. Кожна з літер є 'W', 'O', 'R', 'B', 'G', або 'Y', що вказує відповідний колір. Грані перераховані зліва направо в порядку (за кольором центрального квадрата) Білий, Помаранчевий, Червоний, Синій, Зелений, Жовтий. Таким чином, перші три стовпці літер дають стан “Білої” грані, і так далі.
Четвертий рядок випадку дає маніпуляції, які ви повинні застосувати до куба. Кожна маніпуляція складається з однієї літери, як зазначено вище ('W', 'O', 'R', 'B', 'G', або 'Y'), що вказує, яку грань (вибрану за кольором центру) ви повинні обертати. Кожне обертання, таким чином, є 90º обертанням за годинниковою стрілкою грані відносно решти куба, дивлячись на грань, яку потрібно обертати. Буде вказано принаймні одне і не більше 1,000 маніпуляцій.
Вихідні дані
Виведіть на стандартний вихід стан куба після зазначених маніпуляцій. Використовуйте той самий формат, що і для введення: три рядки, кожен з яких містить 18 кольорових літер, розділених одним пробілом. Не ставте пробіл після останньої літери в рядку. Виведіть грані в тому ж порядку, зліва направо, як і для введення: Білий, Помаранчевий, Червоний, Синій, Зелений, Жовтий. Після кожного вихідного випадку виведіть рядок, що містить 35 символів '='.