#include <bits/stdc++.h>
std::ifstream fin("nrtri.in");
std::ofstream fout("nrtri.out");

int n, nrOfTri, v[801];

int main()
{
    int i, j, k;
    fin >> n;
    for(i = 0; i < n; i++)
        fin >> v[i];
    std::sort(v, v + n);
    //cond triunghi: a + b <= c
    for(i = 0; i < n - 2; i++)
    {
        for(j = i + 1; j < n - 1; j ++)
        {
            k = j; //ramanea k prost de la prima parcurgere
            while(k < n - 1 && v[i] + v[j] >= v[k + 1]) //n-1 pt ca ne uitam la k + 1
            {
                nrOfTri++;
                k++;
            }
        }
    }

    fout << nrOfTri;

    return 0;

}

/*
2 3 4 7
  i j
      k
*/