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

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

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

Компанія, що займається перевезеннями по залізниці, отримала замовлення сформувати потяг, який складається з певного числа вагонів. Проблема у тому, що у компанії є вагони, випущені у різний час, так що кожен з вагонів може мати один з двох видів сцеплень на кожному кінці. У компанії також є один локомотив. Сцеплення і для локомотиву, і для вагонів позначені літерою \textbf{A} або \textbf{B}. Повернути вагон чи локомотив протилежною стороною неможливо. Задано інформацію про вагони і локомотив. Потрібно знайти кількість способів сформувати різні потяги заданої довжини з наявних видів вагонів. Додатковою вимогою є те, що тип сцеплень на кожному кінці сформованого потягу повинен відповідати типу сцеплень локомотива. Потяги вважаються різними, якщо при їх порівнянні від одного кінця до іншого виявиться хоча б одна відмінність. \textit{Приклад 1}. Нехай у компанії є вагони \textbf{AA}, \textbf{AA}, \textbf{AB}, \textbf{BA}, \textbf{BA} і локомотив \textbf{AB}. У потязі повинно бути \textbf{4} вагони. Із заданих вагонів можна сформувати лише два різних потяги: \textbf{BAAAABBA} і \textbf{BAABBAAA}. Локомотив можна приєднати до потягу як ліворуч (використовуючи сцеплення \textbf{B}), так і праворуч (використовуючи сцеплення \textbf{A}). \textit{Приклад 2.} Нехай у компанії є лише по одному вагону кожного типа (\textbf{AA}, \textbf{AB}, \textbf{BA}, \textbf{BB}) і локомотив \textbf{AA}, а потяг повинен складатись з трьох вагонів. Існує три способи сформувати потяг: \textbf{AAABBA}, \textbf{ABBAAA} і \textbf{ABBBBA}. \InputFile У першому рядку через пропуск \textbf{N} - число вагонів, які знаходяться у розпорядженні компанії, і \textbf{K} - потрібна довжина потягу в вагонах. Другий рядок описує тип сцеплень локомотива. Наступні \textbf{N} рядків описують типи сцеплень вагонів. Описи задано як \textbf{AB}, \textbf{AA}, \textbf{BB} або \textbf{BA}. \textbf{1} ≤ \textbf{K} ≤ \textbf{N} ≤ \textbf{40}. \OutputFile У першому рядку виводиться слово "\textbf{YES}", якщо можна сформувати хоча б один потяг, або "\textbf{NO}" - у протилежному випадку. Якщо потяг сформувати можливо, у другому рядку повинно бути вказана кількість способів це зробити.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
4 4
AB
AA
AB
BA
BA
Вихідні дані #1
YES
2