Леденящая игра
Чтобы попасть в команду к Шкиперу пингвин должен пройти ряд испытаний: полоса препятствий от Шкипера, спарринг с Рико, расшифровка кода от Прапора и задача от Ковальски.
Вы, пингвин-новобранец успешно дошли до последнего испытания. Ковальски предлагает вам сыграть в следующую игру. Вам дается m наборов разноцветных льдинок, каждая одного из n цветов. Различные цвета обозначаются различными прописными буквами латинского алфавита. Вы можете взять какое-то подмножество этих наборов при условии, что льдинка каждого цвета будет встречаться не более одного раза в этом подмножестве. Пусть вы выбрали k наборов с индексами i_1, i_2, ..., i_k, тогда ваш выигрыш составляет баллов, где l_ij - количество льдинок в наборе i_j.
Ковальски требует найти подмножество с макимальным количество баллов.
От вас требуется найти любое подмножество, подходящее под условия Ковальски.
Входные данные
В первой строке входного файла находится число n (1 ≤ n ≤ 17) - количество различных цветов. Вторая строка входного файла содержит число m (1 ≤ m ≤ 200000) - количество различных наборов льдинок. В следующих m строках перечислены сами наборы. Набор с номером i задаётся строкой из первых n строчных латинских букв. Длина каждой строки не больше 17 символов.
Выходные данные
В первой строке выходного файла выведите k - количество наборов в ответе. Во второй строке выходного файла выведите k чисел - индексы наборов, входящих в ответ, в произвольном порядке.