#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#define Nmax 805
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
vector < int > Numere;
int aux;
void Read()
{
    int n;
    fin >> n;
    aux = n;
    while(n --)
    {
        int x;
        fin >> x;
        Numere.push_back(x);
    }
    sort(Numere.begin(), Numere.end());
}
int main()
{
    Read();
    int raspuns = 0;
    for(int k = aux - 1; k > 1; k --)
    {
        //Verificam mereu primul numar cu toate numerele plecand de la final -1 de fiecare data
        int i = 0;
        int j = k - 1;
        while(i < j)
        {
            int nr1 = Numere[i];
            int nr2 = Numere[j];
            int nr3 = Numere[k];
            if(Numere[i] + Numere[j] < Numere[k])
                i ++;
            else
            {
                raspuns += j - i;
                j --;
            }
        }
    }
    fout << raspuns;
    return 0;
}