#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int main() {
int N;
fin >> N;
vector<int> a(N);
for (int i = 0; i < N; ++i)
fin >> a[i];
sort(a.begin(), a.end());
int count = 0;
for (int i = 0; i < N - 2; ++i) {
for (int j = i + 1; j < N - 1; ++j) {
int sum = a[i] + a[j];
auto it = upper_bound(a.begin() + j + 1, a.end(), sum - 1);
count += it - (a.begin() + j + 1);
}
}
fout << count << endl;
return 0;
}