F. Гарри Гончар
ограничение по времени на тест
9 секунд
ограничение по памяти на тест
1024 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Как известно, чтобы победить лорда Волан-де-Морта, Гарри необходимо сперва уничтожить все крестражи. Последний крестраж лорда Сами-Знаете-кого представляет собой массив $$$a$$$ состоящий из $$$n$$$ целых чисел, который Гарри необходимо уничтожить. Массив считается уничтоженным, если все его элементы равны 0. Чтобы его уничтожить, Гарри может производить два типа операций:

  1. выбрать индекс $$$i$$$ ($$$1 \le i \le n$$$), целое число $$$x$$$ и вычесть из $$$a_i$$$ число $$$x$$$.
  2. выбрать индексы $$$i$$$ и $$$j$$$ ($$$1 \le i, j \le n; i \ne j$$$), целое число $$$x$$$ и вычесть из $$$a_i$$$ число $$$x$$$, а из $$$a_j$$$ — число $$$x + 1$$$.

Обратите внимание, что $$$x$$$ может быть произвольным, в том числе и отрицательным.

У Гарри осталось совсем немного времени. Помогите ему и узнайте, какое минимальное число операций с массивом ему придётся совершить, чтобы уничтожить массив и покончить с лордом Волан-де-Мортом!

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

Первая строка входных данных содержит одно целое число $$$n$$$ — количество элементов в массиве $$$a$$$ ($$$1 \le n \le 20$$$).

Вторая строка входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ — элементы массива ($$$-10^{15} \le a_i \le 10^{15}$$$).

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

Выведите одно число — минимальное количество действий, за которое Гарри сможет уничтожить массив $$$a$$$.

Примеры
Входные данные
3
1 10 100
Выходные данные
3
Входные данные
3
5 3 -2
Выходные данные
2
Входные данные
1
0
Выходные данные
0
Примечание

В первом примере можно три раза применить операцию первого типа к массиву.

Во втором примере можно два раза применить операцию второго типа: сначала выбрать $$$i = 2, j = 1, x = 4$$$ и получить массив $$$(0, -1, -2)$$$, затем выбрать $$$i = 3, j = 2, x = -2$$$ чтобы уничтожить массив.

В третьем примере ничего делать не надо, так как массив уже состоит из нулей.