from collections import defaultdict from bisect import bisect_left,bisect_right from operator import mul from functools import reduce def cmb(n,r): r = min(n-r,r) if r == 0: return 1 over = reduce(mul, range(n, n - r, -1)) under = reduce(mul, range(1,r + 1)) return over // under N=int(input()) A=list(map(int,input().split())) keys=set() D=defaultdict(list) for i,a in enumerate(A): D[a].append(i) keys.add(a) keys=sorted(keys) cumsum=[0] for key in keys: cumsum.append(cumsum[-1]+len(D[key])) AA=[] for k,v in D.items(): if len(v)>=2:AA.append(k) ans=0 for a in AA: ans+=cmb(len(D[a]),2)*cumsum[bisect_left(keys,a)] ans+=cmb(len(D[a]),2)*(cumsum[bisect_left(keys,a*2)]-cumsum[bisect_right(keys,a)]) print(ans)