from collections import Counter from itertools import combinations N = int(input()) take = Counter([i for i in input().split()]) devider = 10**9 + 7 # 近道 s_1 = sum([v for v in take.values()]) s_2 = sum([v**2 for v in take.values()]) s_3 = sum([v**3 for v in take.values()]) res = (s_1**3 - 3*s_1*s_2 + 2*s_3) // 6 res %= devider print(res)