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

a.sort()
import bisect
ans=0
#A=[1,2,3,4,5] #ソート済み
#index = bisect.bisect_left(A, 3) #2 同じ数字があった場合、前側の挿入箇所が返ってきている
#index = bisect.bisect_right(A, 3) # 3 同じ数字があった場合、後ろ側の挿入箇所が返ってきている
#A.insert(index, 3) #挿入
#print(a)
for i in range(len(a)-1):
    for j in range(i+1,len(a)):
        #a[i]<a[j]

        #a[k]<a[i]<a[j]

        #a[k]+a[i]>a[j]
        #=>a[i]> a[k] >a[j]-a[i]

        ll= bisect.bisect_right(a, a[j]-a[i])

        rr= bisect.bisect_left(a, a[i])
        if a[rr+1]==a[i]:
            rr=i
        #print(a[i],a[j],"|",ll,rr,max(0,rr-ll))
        ans+=(max(0,rr-ll))

print(ans)

 n=int(input()) n int(input()) int input() input a=list(map(int,input().split())) a list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split a.sort() a.sort a sort import bisect bisect ans=0 ans 0 for i in range(len(a)-1):
    for j in range(i+1,len(a)):
        #a[i]<a[j]

        #a[k]<a[i]<a[j]

        #a[k]+a[i]>a[j]
        #=>a[i]> a[k] >a[j]-a[i]

        ll= bisect.bisect_right(a, a[j]-a[i])

        rr= bisect.bisect_left(a, a[i])
        if a[rr+1]==a[i]:
            rr=i
        #print(a[i],a[j],"|",ll,rr,max(0,rr-ll))
        ans+=(max(0,rr-ll)) i range(len(a)-1) range len(a)-1 len(a) len a 1 for j in range(i+1,len(a)):
        #a[i]<a[j]

        #a[k]<a[i]<a[j]

        #a[k]+a[i]>a[j]
        #=>a[i]> a[k] >a[j]-a[i]

        ll= bisect.bisect_right(a, a[j]-a[i])

        rr= bisect.bisect_left(a, a[i])
        if a[rr+1]==a[i]:
            rr=i
        #print(a[i],a[j],"|",ll,rr,max(0,rr-ll))
        ans+=(max(0,rr-ll)) j range(i+1,len(a)) range i+1 i 1 len(a) len a ll= bisect.bisect_right(a, a[j]-a[i]) ll bisect.bisect_right(a, a[j]-a[i]) bisect.bisect_right bisect bisect_right a a[j]-a[i] a[j] a j a[i] a i rr= bisect.bisect_left(a, a[i]) rr bisect.bisect_left(a, a[i]) bisect.bisect_left bisect bisect_left a a[i] a i if a[rr+1]==a[i]:
            rr=i
        #print(a[i],a[j],"|",ll,rr,max(0,rr-ll))
         a[rr+1]==a[i] a[rr+1] a rr+1 rr 1 a[i] a i rr=i rr i ans+=(max(0,rr-ll)) ans max(0,rr-ll) max 0 rr-ll rr ll print(ans) print ans n=int(input()) int(input()) n a=list(map(int,input().split())) list(map(int,input().split())) a ll= bisect.bisect_right(a, a[j]-a[i]) bisect.bisect_right(a, a[j]-a[i]) ll ans=0 0 ans ans+=(max(0,rr-ll)) max(0,rr-ll) ans rr= bisect.bisect_left(a, a[i]) bisect.bisect_left(a, a[i]) rr rr=i i rr
n=int(input())
a=list(map(int,input().split()))

a.sort()
import bisect
ans=0
#A=[1,2,3,4,5] #ソート済み
#index = bisect.bisect_left(A, 3) #2 同じ数字があった場合、前側の挿入箇所が返ってきている
#index = bisect.bisect_right(A, 3) # 3 同じ数字があった場合、後ろ側の挿入箇所が返ってきている
#A.insert(index, 3) #挿入
#print(a)
for i in range(len(a)-1):
    for j in range(i+1,len(a)):
        #a[i]<a[j]

        #a[k]<a[i]<a[j]

        #a[k]+a[i]>a[j]
        #=>a[i]> a[k] >a[j]-a[i]

        ll= bisect.bisect_right(a, a[j]-a[i])

        rr= bisect.bisect_left(a, a[i])
        if a[rr+1]==a[i]:
            rr=i
        #print(a[i],a[j],"|",ll,rr,max(0,rr-ll))
        ans+=(max(0,rr-ll))

print(ans)


