В нашей компании есть $m$ открытых вакансий и $n \ge m$ кандидатов на эти позиции. Очевидно, мы хотим нанять лучших кандидатов. Мы не можем нанять одного и того же кандидата на две или более разные позиции, поэтому мы должны нанять ровно $m$ кандидатов. Назовем способ выбора различных кандидатов для каждой позиции назначением. Два назначения считаются различными, если существует позиция, для которой в этих назначениях наняты разные кандидаты.
Существует матрица прибыли $A$, где $A_{ij} \ge 0$ обозначает прибыль, которую мы получим от найма $j$-го кандидата на $i$-ю позицию. Мы хотим максимизировать суммарную прибыль от всех наймов. Назначение является оптимальным, если оно максимизирует сумму прибылей.
Было бы легко выбрать лучших кандидатов, зная матрицу $A$. К сожалению, мир HR не так прост, и они не могут предоставить вам матрицу $A$. Даже после собеседования со всеми кандидатами мы можем лишь сравнить, как два кандидата проявят себя на одной и той же позиции. Точнее, нам известны $m$ перестановок $P_i$ длины $n$. Для всех $1 \le i \le m$ и $1 \le x < y \le n$ выполняется $A_{iP_{ix}} > A_{iP_{iy}}$. Простыми словами, для каждой позиции мы знаем рейтинг всех кандидатов.
Кандидат является перспективным тогда и только тогда, когда существует матрица $A$, согласующаяся со всеми данными рейтингами, такая, что для этой матрицы существует только одно оптимальное назначение, и этот конкретный кандидат в нем нанят.
Вам нужно найти всех перспективных кандидатов, чтобы мы могли провести с ними более тщательное тестирование.
Входные данные
Первая строка содержит два целых числа $n$ и $m$ ($1 \le m \le 11$, $m \le n \le 1000$) — количество кандидатов и количество позиций.
Следующие $m$ строк содержат рейтинги для каждой позиции. $i$-я строка содержит перестановку $P_{i1}, P_{i2}, \dots, P_{in}$ чисел от $1$ до $n$.
Выходные данные
В первой строке выведите количество перспективных кандидатов, во второй строке выведите индексы перспективных кандидатов в порядке возрастания.
Примеры
Входные данные 1
4 2 1 2 4 3 1 3 4 2
Выходные данные 1
3 1 2 3
Входные данные 2
4 2 1 4 3 2 2 3 4 1
Выходные данные 2
2 1 2