Формування потягу#885

Формування потягу

1 секунда
64 мегабайти
Легка

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

Зчеплення і для локомотива, і для вагонів позначені літерою або . Повернути вагон чи локомотив протилежною стороною неможливо.

Задано інформацію про вагони і локомотив. Потрібно знайти кількість способів сформувати різні потяги заданої довжини з наявних видів вагонів. Додатковою вимогою є те, що тип зчеплень на кожному кінці сформованого потягу повинен відповідати типу зчеплень локомотива.

Потяги вважаються різними, якщо при їх порівнянні від одного кінця до іншого виявиться хоча б одна відмінність.

Приклад 1. Нехай у компанії є вагони , , , , і локомотив . У потязі повинно бути вагони. Із заданих вагонів можна сформувати лише два різних потяги: і . Локомотив можна приєднати до потягу як ліворуч (використовуючи зчеплення ), так і праворуч (використовуючи зчеплення ).

Приклад 2. Нехай у компанії є лише по одному вагону кожного типу (, , , ) і локомотив , а потяг повинен складатись з трьох вагонів. Існує три способи сформувати потяг: , і .

Вхідні дані

У першому рядку через пропуск — число вагонів, які знаходяться у розпорядженні компанії, і — потрібна довжина потягу у вагонах. Другий рядок описує тип зчеплень локомотива. Наступні рядків описують типи зчеплень вагонів. Описи задано як , , або .

1 \leq K \leq N \leq 40.

Вихідні дані

У першому рядку виводиться слово "", якщо можна сформувати хоча б один потяг, або "" — у протилежному випадку.

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

Приклади

Приклад 1

Loading
Loading