Щоб потрапити до команди до Шкіпера, пінгвін повинен пройти ряд випробувань: смуга перешкод від Шкіпера, спаринг з Ріко, розшифрування коду від Прапора і задача від Ковальські.

Ви, пінгвін-новобранець, успішно дісталися останнього випробування. Ковальські пропонує вам зіграти в наступну гру. Вам дається наборів різнокольорових крижинок, кожна крижинка одного з кольорів. Різні кольори позначаються різними малими латинськими літерами. Ви можете взяти деяку підмножину цих наборів за умови, що крижинка кожного кольору зустрічається не більше одного разу у всіх вибраних наборах. Якщо ви вибрали наборів з індексами i_1, i_2, \ldots, i_k, то ваш виграш дорівнює сумі l_{i_1} + l_{i_2} + \cdots + l_{i_k}, де l_{i_j} — кількість крижинок у наборі i_j.
Ковальські вимагає знайти підмножину з максимальною кількістю балів.
Вам потрібно знайти будь-яку підмножину, яка підходить під умови Ковальські.
У першому рядку вхідного файлу знаходиться число (1 \leq n \leq 17) — кількість різних кольорів. У другому рядку — число (1 \leq m \leq 200000) — кількість різних наборів крижинок. У наступних рядках подано самі набори. Набір з номером задається рядком з перших малих латинських літер. Довжина кожного рядка не перевищує символів.
У першому рядку вихідного файлу виведіть — кількість наборів у відповіді. У другому рядку виведіть чисел — індекси наборів, що входять у відповідь, у довільному порядку.
Приклад 1