#include <stdio.h>
#include <stdlib.h>
using namespace std;
int bete[60001];
int v[800];
int abs(int a){
if(a<0)
a=-a;
return a;
}
int main()
{
FILE *fin, *fout;
int n,i,j,max,suma,curent;
fin=fopen("nrtri.in","r");
fout=fopen("nrtri.out","w");
fscanf(fin,"%d",&n);
if(n<3)
fprintf(fout,"0");
else{
max=0;
for(i=0;i<n;i++){
fscanf(fin,"%d",&v[i]);
bete[v[i]]++;
if(v[i]>max)
max=v[i];
}
for(i=1;i<60000;i++){
bete[i]+=bete[i-1];
}
suma=0;
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
curent=bete[v[i]+v[j]]-bete[abs(v[j]-v[i])-1];
if(v[i]<=v[i]+v[j] && v[i]>=abs(v[j]-v[i]))
curent--;
if(v[j]<=v[i]+v[j] && v[j]>=abs(v[j]-v[i]))
curent--;
if(curent>0)
suma+=curent;
}
}
fprintf(fout,"%d",suma/3);
}
fclose(fin);
fclose(fout);
return 0;
}