Льодова гра
Щоб потрапити у команду до Шкіпера пвнгввн повинен пройти ряд випробувань: полоса перешкод від Шкіпера, спаринг з Ріко, розшифрування коду від Прапора і задача від Ковальски.
Ви, пінгвін-новобранець успішно дійшли до останнього випробування. Ковальски пропонує вам зіграти у наступну гру. Вам дається 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 чисел - індекси наборів, які входять у відповідь, у довільному порядку.