#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ofstream fo("nrtri.out");
ifstream fi("nrtri.in");

int n,trig[900];
long long sol;
int cautbin(int cautat)
{
    int poz=0;
    for(int i=19;i>=0;i--)
    {
        if(poz+(1<<i)<=n && trig[poz+(1<<i)]<cautat)
        {
            poz+=(1<<i);
        }
    }
    return poz;
}
int main()
{
   fi>>n;
   for(int i=1;i<=n;i++)
    fi>>trig[i];
    sort(trig+1,trig+n+1);
    for(int i=1;i<n-1;i++)
        for(int j=i+1;j<n;j++)
            for(int k=j+1;k<=n;k++)
            {
                if(trig[i]+trig[j]>=trig[k])
                    sol++;
                else
                    break;
            }

   fo<<sol;
   fo.close();
   fi.close();
    return 0;
}