G. Рудольф и шахматы
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Рудольф любит играть в шахматы. Он играет настолько часто, что уже тяжело найти соперника для игры на обычной физической шахматной доске. Поэтому Рудольф играет в шахматы онлайн.

Ход в онлайн-шахматах состоит из трёх этапов:

  1. игрок выбирает фигуру, которой будет ходить;
  2. приложение подсвечивает клетки доски, на которые можно поставить фигуру, в том числе — съесть фигуру соперника;
  3. игрок выбирает одну из подсвеченных клеток и делает ход выбранной фигурой в эту клетку.

Рудольф уже выбрал фигуру, и приложение подсветило возможные варианты хода. Однако, мгновением позже из-за ошибки в приложении фигуры на доске перестали отображаться, теперь отображаются только клетки, куда можно сделать ход. Более того, Рудольф забыл, какую фигуру он выбрал. Зная множество подсвеченных клеток, определите, какую фигуру мог выбрать Рудольф. Возможно, в приложении есть и другие ошибки, поэтому множество подсвеченных клеток не соответствует ни одной фигуре (см. пример $$$2$$$).

Необходимо учитывать следующее:

  • фигуры ходят по стандартным шахматным правилам;
  • на доске могут находиться фигуры (как Рудольфа, так и его соперника), которые блокируют ход;
  • для простоты будем считать, что никакой ход Рудольфа не может подставить под атаку его короля;
  • Рудольф не может сделать рокировку;
  • Рудольф помнит, что взятая фигура — не пешка.

Обратите внимание, что по правилам шахмат фигура не может сделать ход 'на месте', то есть встать на ту клетку, на которой она уже стоит перед началом хода. Таким образом, клетка, на которой сейчас стоит фигура, не должна быть подсвечена при правильной работе приложения.

Входные данные

Входные данные содержат $$$8$$$ строк по $$$8$$$ символов в каждой.

Каждый символ — либо точка ('.'), что соответствует неподсвеченной клетке шахматной доски, либо крест ('X'), что соответствует подсвеченной клетке.

Гарантируется, что хотя бы одна клетка подсвечена приложением.

Выходные данные

В первой строке выведите количество возможных фигур, которые соответствуют множеству подсвеченных клеток. В частности, если такое множество клеток не соответствует ни одной фигуре, выведите $$$0$$$.

Во второй строке выведите список фигур, которые могут быть выбраны игроком. Фигуры можно выводить в любом порядке. Используйте следующие названия фигур:

  • bishop — слон
  • king — король;
  • knight — конь;
  • queen — ферзь;
  • rook — ладья.

Напоминаем, что Рудольф точно не брал пешку, поэтому не стоит выводить такой вариант, даже если он подходит под множество подсвеченных клеток.

Примеры
Входные данные
........
........
........
..X.....
..X.....
........
........
........
Выходные данные
3
king queen rook 
Входные данные
........
........
........
..X.....
..X.....
......X.
........
........
Выходные данные
0
Входные данные
........
........
........
..XX....
..X.....
...X....
........
........
Выходные данные
2
king queen 
Входные данные
........
........
X.......
........
X.......
.X......
........
........
Выходные данные
1
knight