N = int(input())
L = list(map(int, input().split()))
L.sort(reverse = True)

def binary(mini,maxi,a,b): #a>b
  if maxi == mini + 1:
    if L[maxi] > a - b:
      return maxi
    elif L[mini] > a - b:
      return mini
    else:
      return False
  elif maxi == mini:
    if L[maxi] > a - b:
      return maxi
    else:
      return False
  else:
    mid = (mini+maxi)//2
    if L[mid] > a - b:
      return binary(mid,maxi,a,b)
    else:
      return binary(mini,mid,a,b)
ans = 0
for a in range(0, N-2):
  for b in range(a+1, N-1):
    tmp = binary(b+1, N-1, L[a], L[b])
    if tmp:
      ans += tmp - b
print(ans)
 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(reverse = True) L.sort L sort reverse = True reverse True def binary(mini,maxi,a,b): #a>b
  if maxi == mini + 1:
    if L[maxi] > a - b:
      return maxi
    elif L[mini] > a - b:
      return mini
    else:
      return False
  elif maxi == mini:
    if L[maxi] > a - b:
      return maxi
    else:
      return False
  else:
    mid = (mini+maxi)//2
    if L[mid] > a - b:
      return binary(mid,maxi,a,b)
    else:
      return binary(mini,mid,a,b) binary if maxi == mini + 1:
    if L[maxi] > a - b:
      return maxi
    elif L[mini] > a - b:
      return mini
    else:
      return False
  elif maxi == mini:
    if L[maxi] > a - b:
      return maxi
    else:
      return False
  else:
    mid = (mini+maxi)//2
    if L[mid] > a - b:
      return binary(mid,maxi,a,b)
    else:
      return binary(mini,mid,a,b) maxi == mini + 1 maxi mini + 1 mini 1 if L[maxi] > a - b:
      return maxi
    elif L[mini] > a - b:
      return mini
    else:
      return False
   L[maxi] > a - b L[maxi] L maxi a - b a b return maxi maxi elif L[mini] > a - b:
      return mini
     L[mini] > a - b L[mini] L mini a - b a b return mini mini return False False elif maxi == mini:
    if L[maxi] > a - b:
      return maxi
    else:
      return False
   maxi == mini maxi mini if L[maxi] > a - b:
      return maxi
    else:
      return False
   L[maxi] > a - b L[maxi] L maxi a - b a b return maxi maxi return False False mid = (mini+maxi)//2 mid (mini+maxi)//2 mini+maxi mini maxi 2 if L[mid] > a - b:
      return binary(mid,maxi,a,b)
    else:
      return binary(mini,mid,a,b) L[mid] > a - b L[mid] L mid a - b a b return binary(mid,maxi,a,b) binary(mid,maxi,a,b) binary mid maxi a b return binary(mini,mid,a,b) binary(mini,mid,a,b) binary mini mid a b mini mini maxi maxi a a b b ans = 0 ans 0 for a in range(0, N-2):
  for b in range(a+1, N-1):
    tmp = binary(b+1, N-1, L[a], L[b])
    if tmp:
      ans += tmp - b a range(0, N-2) range 0 N-2 N 2 for b in range(a+1, N-1):
    tmp = binary(b+1, N-1, L[a], L[b])
    if tmp:
      ans += tmp - b b range(a+1, N-1) range a+1 a 1 N-1 N 1 tmp = binary(b+1, N-1, L[a], L[b]) tmp binary(b+1, N-1, L[a], L[b]) binary b+1 b 1 N-1 N 1 L[a] L a L[b] L b if tmp:
      ans += tmp - b tmp ans += tmp - b ans tmp - b tmp b print(ans) print ans L = list(map(int, input().split())) list(map(int, input().split())) L def binary(mini,maxi,a,b): #a>b
  if maxi == mini + 1:
    if L[maxi] > a - b:
      return maxi
    elif L[mini] > a - b:
      return mini
    else:
      return False
  elif maxi == mini:
    if L[maxi] > a - b:
      return maxi
    else:
      return False
  else:
    mid = (mini+maxi)//2
    if L[mid] > a - b:
      return binary(mid,maxi,a,b)
    else:
      return binary(mini,mid,a,b) def binary(mini,maxi,a,b): #a>b
  if maxi == mini + 1:
    if L[maxi] > a - b:
      return maxi
    elif L[mini] > a - b:
      return mini
    else:
      return False
  elif maxi == mini:
    if L[maxi] > a - b:
      return maxi
    else:
      return False
  else:
    mid = (mini+maxi)//2
    if L[mid] > a - b:
      return binary(mid,maxi,a,b)
    else:
      return binary(mini,mid,a,b) binary tmp = binary(b+1, N-1, L[a], L[b]) binary(b+1, N-1, L[a], L[b]) tmp ans = 0 0 ans N = int(input()) int(input()) N ans += tmp - b tmp - b ans
N = int(input())
L = list(map(int, input().split()))
L.sort(reverse = True)

def binary(mini,maxi,a,b): #a>b
  if maxi == mini + 1:
    if L[maxi] > a - b:
      return maxi
    elif L[mini] > a - b:
      return mini
    else:
      return False
  elif maxi == mini:
    if L[maxi] > a - b:
      return maxi
    else:
      return False
  else:
    mid = (mini+maxi)//2
    if L[mid] > a - b:
      return binary(mid,maxi,a,b)
    else:
      return binary(mini,mid,a,b)
ans = 0
for a in range(0, N-2):
  for b in range(a+1, N-1):
    tmp = binary(b+1, N-1, L[a], L[b])
    if tmp:
      ans += tmp - b
print(ans)

