A. Тетрис
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Происходит следующий процесс.

Есть платформа, состоящая из $$$n$$$ колонок. Квадраты размера $$$1 \times 1$$$ появляются один за другим в некоторых колонках на платформе. Если в колонке нет квадратов, то квадрат появляется в нижнем ряду. Иначе же квадрат появляется сверху от самого высокого квадрата в этой колонке.

Когда в каждой из $$$n$$$ колонок есть хотя бы один квадрат, нижний ряд удаляется. За это вы получаете $$$1$$$ очко, а все остальные квадраты падают на один ряд вниз.

Ваша задача — посчитать количество очков, которое вы получите.

Входные данные

Первая строка содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n, m \le 1000$$$) — количество колонок на платформе и количество квадратов.

В следующей строке содержится $$$m$$$ целых чисел $$$c_1, c_2, \dots, c_m$$$ ($$$1 \le c_i \le n$$$) — колонка, в которой появляется $$$i$$$-й квадрат.

Выходные данные

Выведите единственное целое число — количество очков, которое вы получите.

Пример
Входные данные
3 9
1 1 2 2 2 3 1 2 3
Выходные данные
2
Примечание

В примере ответ будет равен $$$2$$$, потому что после появления $$$6$$$-го квадрата будет удален один ряд (количество квадратов на платформе будет выглядеть как $$$[2~ 3~ 1]$$$, и после удаления одного ряда как $$$[1~ 2~ 0]$$$).

После появления $$$9$$$-го квадрата количества будут выглядеть как $$$[2~ 3~ 1]$$$, и после удаления одного ряда как $$$[1~ 2~ 0]$$$.

Следовательно, ответ будет равен $$$2$$$.