import java.util.* ;
import java.lang.* ;
import java.io.* ;
class Codechef
{
{
/*
number of unordered quadruplets (i,j,k,l) such that b[i] + b[j] + b[k] + b[l] = 0
*/
//O(n^4) ;
Scanner sc
= new Scanner
( System .
in ) ; int n = sc.nextInt ( ) ;
int arr[ ] = new int [ n] ;
for ( int i = 0 ; i < n ; i++ ) {
arr[ i] = sc.nextInt ( ) ;
}
for ( int i = 3 ; i < n ; i++ ) {
map.put ( arr[ i] , map.getOrDefault ( arr[ i] , 0 ) + 1 ) ;
}
int count = 0 ;
for ( int i = 0 ; i < n ; i++ ) {
for ( int j = i + 1 ; j < n ; j++ ) {
for ( int k = j + 1 ; k < n- 1 ; k++ ) {
int sum = 0 - ( arr[ i] + arr[ j] + arr[ k] ) ;
if ( map.containsKey ( sum) ) {
count += map.get ( sum) ;
}
//remove frequency from map
map.put ( arr[ k+ 1 ] , map.get ( arr[ k+ 1 ] ) - 1 ) ;
}
//again updated the frequency ;
for ( int k = j + 3 ; k < n ; k++ ) {
map.put ( arr[ k] , map.getOrDefault ( arr[ k] , 0 ) + 1 ) ;
}
}
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBDb2RlY2hlZgp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCSAgICAvKgoJICAgICAgICBudW1iZXIgb2YgdW5vcmRlcmVkIHF1YWRydXBsZXRzIChpLGosayxsKSBzdWNoIHRoYXQgYltpXSArIGJbal0gKyBiW2tdICsgYltsXSA9IDAKCSAgICAKCSAgICAqLwoJICAgIAoJICAgIAoJICAgIC8vTyhuXjQpIDsKCSAgICBTY2FubmVyIHNjID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKSA7IAoJICAgIGludCBuID0gc2MubmV4dEludCgpIDsgCgkgICAgaW50IGFycltdID0gbmV3IGludFtuXSA7IAoJICAgIAoJICAgIGZvcihpbnQgaSA9IDAgOyBpIDwgbiA7IGkrKykgewoJICAgICAgICBhcnJbaV0gPSBzYy5uZXh0SW50KCkgOyAKCSAgICB9CgkgICAgCgkgICAgCgkgICAgTWFwPEludGVnZXIgLCBJbnRlZ2VyID4gbWFwID0gbmV3IEhhc2hNYXA8PigpIDsgCgkgICAgCgkgICAgZm9yKGludCBpID0gMyA7IGkgPCBuIDsgaSsrKSB7CgkgICAgICAgIG1hcC5wdXQoYXJyW2ldICwgbWFwLmdldE9yRGVmYXVsdChhcnJbaV0gLCAwICkgKyAxKSA7IAoJICAgIH0KCSAgICBpbnQgY291bnQgPSAwIDsKCSAgICBmb3IoaW50IGkgPSAwIDsgaSA8IG4gOyBpKyspIHsKCSAgICAgICAgZm9yKGludCBqID0gaSArIDEgOyBqIDwgbiA7IGorKykgewoJICAgICAgICAgICAgZm9yKGludCBrID0gaiArIDEgOyBrIDwgbi0xIDsgaysrKSB7CgkgICAgICAgICAgICAgICAgaW50IHN1bSA9IDAgLSAoYXJyW2ldICsgYXJyW2pdICsgYXJyW2tdKSA7IAoJICAgICAgICAgICAgICAgIGlmKG1hcC5jb250YWluc0tleShzdW0pKSB7CgkgICAgICAgICAgICAgICAgICAgIGNvdW50ICs9IG1hcC5nZXQoc3VtKSA7IAoJICAgICAgICAgICAgICAgIH0KCSAgICAgICAgICAgICAgICAKCSAgICAgICAgICAgICAgICAvL3JlbW92ZSBmcmVxdWVuY3kgZnJvbSBtYXAKCSAgICAgICAgICAgICAgICBtYXAucHV0KGFycltrKzFdICwgbWFwLmdldChhcnJbaysxXSktMSkgOyAKCSAgICAgICAgICAgIH0KCSAgICAgICAgICAgIC8vYWdhaW4gdXBkYXRlZCB0aGUgZnJlcXVlbmN5IDsgCgkgICAgICAgICAgICBmb3IoaW50IGsgPSBqICsgMyA7IGsgPCBuIDsgaysrKSB7CgkgICAgICAgICAgICAgICAgbWFwLnB1dChhcnJba10gLCBtYXAuZ2V0T3JEZWZhdWx0KGFycltrXSAsIDApICsgMSkgOyAKCSAgICAgICAgICAgIH0KCSAgICAgICAgfQoJICAgIH0KCSAgICAKCSAgICBTeXN0ZW0ub3V0LnByaW50bG4oY291bnQpOwoJfQp9Cg==