eolymp
bolt
Try our new interface for solving problems
Problems

Формирование поезда

Формирование поезда

Компания, занимающаяся железнодорожными перевозками, получила заказ сформировать поезд, состоящий из определённого числа вагонов. Проблема в том, что у компании есть вагоны, выпущенные в разное время, так что каждый из вагонов может иметь один из двух видов сцеплений на каждом конце. У компании также есть один локомотив. Сцепления и для локомотива, и для вагонов обозначены буквой \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}" - в противном случае. Если поезд сформировать возможно, во второй строке должно указываться число способов это сделать.
Time limit 1 second
Memory limit 64 MiB
Input example #1
4 4
AB
AA
AB
BA
BA
Output example #1
YES
2