10856. Два коня
Петя вчиться грати у шахи. Нещодавно він помітив, що незважаючи на те, що коні вміють стрибати через фігури, вони можуть заважати один одному дійти до потрібних клітин. Петя поставив на дошку двох коней: чорного і білого, і для кожного з них вибрав клітку, на якій хоче його бачити. Тепер йому цікаво, яка мінімальна кількість ходів знадобиться коням, щоб дійти до потрібних клітин.
Коні ходять за шаховими правилами (на одну клітинку по горизонталі та дві по вертикалі або на одну клітинку по вертикалі та на дві по горизонталі). Порядок ходів чорного та білого коня може бути довільним. Коням не дозволяється одночасно вставати на ту саму клітину.
Формат вхідних даних
У вхідному потоці записані чотири клітинки шахової дошки в наступному порядку: початкове положення білого коня, початкове положення чорного коня, кінцеве положення білого коня, кінцеве положення чорного коня. Клітина шахівниці задається горизонталлю (літера від «a» до «h») і вертикаллю (цифра від 1 до 8), не розділеними пробілами. Описи клітин відокремлюються один від одного одним пробілом. Гарантується, що коні знаходяться на різних клітинах, і в кінці коні також повинні опинитися на різних клітинах.
Формат вихідних даних
Виведіть у першому рядку вихідного потоку кількість необхідних ходів.
Далі виведіть послідовність ходів. Хід описується наступним чином: літера, що відповідає кольору коня (W для білого або B для чорного) і клітина, на яку потрібно піти. Клітку виведіть у такому ж форматі, як у вхідному потоці. Якщо потрібної послідовності ходів немає, виведіть число -1.
Приклад вхідних даних
a1 a2 a1 a6
Приклад вихідних даних
2
B b4
B a6
Коментарі