import itertools
import bisect

n=int(input())
l=list(map(int,input().split()))

l.sort()
ans=0

for lst in itertools.combinations(range(n-1),2):
  a=l[lst[0]]
  b=l[lst[1]]
  ans+=bisect.bisect_left(l,a+b)-(lst[1]+1)


print(ans) import itertools itertools import bisect bisect n=int(input()) n int(input()) int input() input l=list(map(int,input().split())) l list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split l.sort() l.sort l sort ans=0 ans 0 for lst in itertools.combinations(range(n-1),2):
  a=l[lst[0]]
  b=l[lst[1]]
  ans+=bisect.bisect_left(l,a+b)-(lst[1]+1) lst itertools.combinations(range(n-1),2) itertools.combinations itertools combinations range(n-1) range n-1 n 1 2 a=l[lst[0]] a l[lst[0]] l lst[0] lst 0 b=l[lst[1]] b l[lst[1]] l lst[1] lst 1 ans+=bisect.bisect_left(l,a+b)-(lst[1]+1) ans bisect.bisect_left(l,a+b)-(lst[1]+1) bisect.bisect_left(l,a+b) bisect.bisect_left bisect bisect_left l a+b a b lst[1]+1 lst[1] lst 1 1 print(ans) print ans b=l[lst[1]] l[lst[1]] b ans+=bisect.bisect_left(l,a+b)-(lst[1]+1) bisect.bisect_left(l,a+b)-(lst[1]+1) ans l=list(map(int,input().split())) list(map(int,input().split())) l ans=0 0 ans n=int(input()) int(input()) n a=l[lst[0]] l[lst[0]] a
import itertools
import bisect

n=int(input())
l=list(map(int,input().split()))

l.sort()
ans=0

for lst in itertools.combinations(range(n-1),2):
  a=l[lst[0]]
  b=l[lst[1]]
  ans+=bisect.bisect_left(l,a+b)-(lst[1]+1)


print(ans)