Андрей подобрал $$$N$$$ роликов со смешными животными. Каждый ролик описывается заглавными латинскими буквами, которые обозначают фрагменты с разными животными.
Например: CDTPPPD обозначает ролик, в котором сначала показывается фрагмент с котиками (Сat), затем с собаками (Dog), потом идут черепашки (Turtle) и т.д.
Длина каждого фрагмента 10 секунд.
Андрей хочет потратить на просмотр роликов про животных ровно $$$M$$$ минут. Ролики можно смотреть в любом порядке, но если Андрей начинает смотреть ролик, то досматривает его до конца. Каждый ролик можно посмотреть только один раз. Еще одно пожелание для плейлиста — последний просмотренный фрагмент последнего ролика должен быть обязательно про котика.
Помогите Андрею составить плейлист вечернего просмотра роликов, так чтобы выполнялись все описанные выше условия.
Если таких вариантов несколько, то выведите любой из них.
В первой строке через пробел даны два целых числа $$$N$$$ $$$(1 \le N \le 2000)$$$ и $$$M$$$ $$$(1 \le M \le 1000)$$$ — количество роликов и время, которое Андрей готов выделить на просмотр соответственно.
В каждой из следующих $$$N$$$ строк идет описание очередного видео в формате строки, состоящей из заглавных английских букв.
Суммарная длина строк, описывающих ролики, не превышает $$$30000$$$ букв.
Если возможно смотреть ролики ровно $$$M$$$ минут и при этом, закончить просмотр на видео с котиком, в первой строке выведите «YES», в следующей число $$$k$$$ — количество роликов, которые будет смотреть Андрей. В третьей строке через пробел выведите $$$k$$$ различных чисел — номера этих роликов (ролики нумеруются в порядке следования во входных данных). Иначе, выведите «NO».
5 5DDDDDDDDDDDDPDPDPDCDCPPCCCPPDCDDTCTC
YES 3 1 2 4
5 5DDDDDDDDDDDDPDPDPDCDCPPCCCPPDCDDTDTC
NO