#include <fstream>
#include <ostream>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
const int NMAX1=800, NMAX2=30000;
int a[NMAX1 + 1], f[NMAX2 + 1], b[NMAX1 + 1];
int N;
int binSearch(int i, int j){
int st=j+1, dr=N, mij, last=j;
while (st<=dr){
mij=(st+dr)/2;
if (b[mij]<=b[i]+b[j]){
st=mij+1;
last=mij;
}
else if (b[mij]>b[i]+b[j]){
dr=mij-1;
}
}
return last;
}
int main()
{
int i, j=1, sum=0;
fin >> N;
for (i=1;i<=N;i++){
fin >> a[i];
f[a[i]]++;
}
for (i=1;i<=NMAX2 + 1;i++){
while(f[i]>0){
b[j++]=i;
f[i]--;
}
}
for (i=1;i<=N-2;i++){
for (j=i+1;j<=N;j++){
sum=sum+binSearch(i,j)-j;
// fout << i << " " << j << " " << binSearch(i,j) << "\n";
}
}
fout << sum;
}