#include <bits/stdc++.h>
using namespace std;
int n;
long long A[100000 + 8], mark[20 + 8];
long long result = 0;
long long getC(int n, int k) {
  if (n < k) return 0;
  if (n == k) return 1;
  long long result = 1;
  for (long long i = max(k, n - k) + 1; i <= n; i++) result *= i;
  return result / min(k, n - k);
}
int main() {
  memset(mark, 0, sizeof mark);
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> A[i];
    mark[A[i] + 10]++;
  }
  for (int i = 0; i <= 9; i++) result += mark[i] * mark[20 - i];
  result += getC(mark[10], 2);
  cout << result << endl;
  return 0;
}
