Изменения рейтингов за последние раунды временно удалены. Скоро они будут возвращены. ×

B. Противоположности притягиваются
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
стандартный ввод
вывод
стандартный вывод

Всем известно, что противоположности притягиваются. Брачное агентство «Паросочетание» работает по этому признаку. Каждого зарегистрированного клиента сотрудники «Паросочетания» классифицировали по его интересам, i-ому клиенту было назначено число ti ( - 10 ≤ ti ≤ 10). Конечно, одно и то же число может быть назначено более чем одному клиенту.

В качестве рекламы «Паросочетание» хочет опубликовать количество пар противоположных клиентов, то есть таких, у которых значение параметра t противоположно. Клиент может входить в пару произвольное количество раз. Помогите агентству и напишите программу, которая по заданной последовательности t1, t2, ..., tn найдет искомое количество. Например, если t = (1,  - 1, 1,  - 1), то любые два элемента ti и tj образуют пару, если i и j имеют разную четность. Следовательно, в этом случае искомое количество равно 4.

Конечно, клиент не может образовывать пару с самим собой.

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

В первой строке входных данных содержится целое число n (1 ≤ n ≤ 105) — количество зарегистрированных клиентов «Паросочетания». Вторая строка содержит последовательность целых чисел t1, t2, ..., tn ( - 10 ≤ ti ≤ 10), ti — параметр i-го клиента, присвоенный по результатам анализа его интересов.

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

Выведите количество пар клиентов с противоположными t. Числом, противоположным для x является число  - x (0 противоположен сам себе). Пары, отличающиеся только порядком клиентов, считаются одинаковыми.

Учтите, что ответ на задачу может быть довольно большим, поэтому необходимо использовать 64-битный целый тип для вычислений. Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-битных чисел на С++. Рекомендуется использовать потоки cin, cout или спецификатор %I64d.

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

В первом примере пары противоположных клиентов: (1,2), (1,5) и (3,4).

Во втором примере любая пара клиентов — противоположна.