eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Преферанс

Преферанс

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB

У новій колоді 32 карти для преферанса розміщені у наступному порядку (зверху вниз): черви, бубни, трефи, піки. У кожної масті спочатку лежить сімка, під нею - вісімка, потім дев'ятка, десятка, валет, дама, король, туз. Тасування карт здійснюється так: 16 карт, які складають верхню половину колод, розподіляються між картами нижньої половини колоди. Кожна карта верхньої половини вставляється у нижню колоду так, що у колоді, що отримується, карти верхньої половини йдуть у тому ж порядку, у якому вони були спочатку. Довільну кількість карт верхньої половини можна розміщувати як над верхньою, так і під нижньою картою другої половини колоди, а також між довільними двома сусідніми картами нижньої половини колоди. Такі дії повторяюються не більше п'яти разів.

Потрібно написати програму, яка вказує, як потрібно здійснити тасування, щоб в результаті отриматиь наперед задане розміження карт.

Вхідні дані

Єдиний рядок вхідного файлу містить інформацію про порядок карт, у якому вони повинні опинитись після тасування. Карти перераховано зверху донизу. Кожна карта позначається латинською буквою, яка вказує масть (піки - S, трефи - C, бубни - D, черви - H), та номіналом (туз - A, король - K, дама - Q, валет - J, десятка - 0, інші - у відповідності зі своїм значенням: 9, 8, 7).

Вихідні дані

У перший рядок вихідного файлу необхідно вивести ціле число N (0N5) - кількість кроків тасування. Наступні N рядків повинні містити інформацію про кожен крок тасування. Кожен рядок при цьому повинен містити 16 чисел, які вказують номери позицій, на яких опиняються зняті карти. Номери позицій виводяться у порядку зростання і відокремлені пропусками. Нумерація позицій відбувається зверху донизу від 1 до 32.

У прикладі вхідний рядок можливо для зручності розбито на два. У вхідних файлах при тестуванні задачі буде рівно один рядок, який завершується переведенням рядка.

Приклад

Вхідні дані #1
C7 H7 C8 H8 C9 H9 C0 H0 S7 D7 S8 D8 S9 D9 S0 D0 SJ DJ SQ DQ SK DK SA DA CJ HJ CQ HQ CK HK CA HA
Вихідні дані #1
5
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32
1 2 5 6 9 10 13 14 19 20 23 24 27 28 31 32
1 2 3 4 9 10 11 12 17 18 19 20 25 26 27 28
1 2 5 6 9 10 13 14 17 18 21 22 25 26 29 30
1 2 5 6 9 10 13 14 17 18 21 22 25 26 29 30