E. Боксёры
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Есть $$$n$$$ боксёров, вес $$$i$$$-го равен $$$a_i$$$. Каждый из них перед соревнованием может изменить свой вес не более чем на $$$1$$$ (вес не может стать равным нулю, то есть должен остаться положительным). Вес — это всегда целое число.

Необходимо выбрать наибольшую по количеству человек такую команду боксёров, что все веса боксёров в ней — различны.

Напишите программу, которая для заданных текущих значений $$$a_i$$$ найдет максимальное возможное количество боксёров в команде.

Возможно, что после какого-то изменения вес какого-то боксера станет $$$150001$$$ (но не больше).

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

В первой строке задано единственное целое число $$$n$$$ ($$$1 \le n \le 150000$$$) — количество боксёров. В следующей строке через единичный пробел заданы $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$, где $$$a_i$$$ ($$$1 \le a_i \le 150000$$$) — вес $$$i$$$-го боксёра.

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

Выведите единственное целое число — максимальное возможное количество человек в команде.

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

В первом примере боксёры не должны менять свои веса — можно просто из всех них составить команду.

Во втором примере можно одного боксёра веса $$$1$$$ увеличить на единицу (получить вес $$$2$$$), одного боксёра веса $$$4$$$ уменьшить на единицу, а другого — увеличить на единицу (получив боксёров с весами $$$3$$$ и $$$5$$$ соответственно). Таким образом, можно получить команду, состоящую из боксёров с весами $$$5, 4, 3, 2, 1$$$.