В этой задаче представлена вариация пасьянса «Скорпион».
Вам дана колода из 52 игральных карт, разложенных в семь столбцов. Каждый столбец может содержать произвольное количество карт, включая случаи, когда в некоторых столбцах нет карт (такие столбцы мы называем пустыми). Каждая карта имеет масть ($\diamondsuit, \heartsuit, \spadesuit$ или $\clubsuit$) и ранг (в порядке возрастания: A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K).
На каждом ходу вы можете сделать следующее: выбрать текущую карту в каком-либо столбце (можно выбрать любую) и переместить её вместе со всеми картами, лежащими поверх неё (нижняя часть столбца перемещается как единое целое), на нижнюю карту другого столбца. Вы можете переместить текущую карту только на карту той же масти, ранг которой ровно на 1 больше. Например, $5\spadesuit$ можно переместить только на $6\spadesuit$, а $A\heartsuit$ можно переместить только на $2\heartsuit$, как показано на рисунке ниже. Если текущая карта имеет ранг K, вы можете переместить её только в пустой столбец (вместе со всеми картами поверх неё) и только в том случае, если она лежит на другой карте (не является верхней картой столбца).
Цель игры — собрать 4 столбца с последовательностями мастей от короля до туза (K находится в верхней части столбца, а A — в нижней).
Входные данные
Вам даны 7 строк, $i$-я из которых описывает $i$-й столбец. $i$-я строка начинается с целого числа $k_i$ — количества карт в $i$-м столбце ($0 \le k_i \le 52$), за которым следуют $k_i$ двухсимвольных строк, описывающих карты в $i$-м столбце сверху вниз. Первый символ кодирует ранг («A», «2», «3», «4», «5», «6», «7», «8», «9», «T», «J», «Q» и «K» для A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q и K соответственно), второй символ кодирует масть («D», «H», «S» и «C» для $\diamondsuit, \heartsuit, \spadesuit$ и $\clubsuit$ соответственно).
Гарантируется, что входные данные содержат все 52 карты и каждая из них встречается ровно один раз.
Выходные данные
Если выиграть игру невозможно, выведите «NO». В противном случае в первой строке выведите «YES», во второй строке — количество ходов, а в третьей строке — карты в порядке совершения ходов. Если существует несколько решений, выведите любое из них.
Примеры
Примеры 1
14 KD QD JD TD 9D 8D 7D 6D 5D 4D 3D 2D AD KH 12 AS 6C 5C 4C 3C 2C AC 6S 5S 4S 3S 2S 11 KS QS JS TS 9S 8S 7S 5H 4H 3H 2H 1 KC 0 11 8H 7H 6H QC JC TC 9C 8C 7C QH JH 3 AH TH 9H
YES 10 QH 6C AS KH AH QC 5H 6S TH 8H
Примеры 2
5 JH TH 9H JC AH 2 KH QH 6 6H 2C AC KD 8H 7H 6 QD JD 4H 3H KC QC 10 3S 2S AS 8S 7S 6S 5S 4S QS JS 12 3C TC 9C 8C 7C 6C 5C 4C KS TS 9S 2H 11 TD 9D 8D 7D 6D 5D 4D 3D 2D AD 5H
YES 20 JH KD 6H KS JC 8H QD KC 2H TS QS 8S 3S AH TC 3C 2C 5H 4H TD