# -*- coding: utf-8 -*- MX = 100 + 1 N = int(raw_input()) A = map(int, raw_input().split()) assert 3 <= N <= 10 ** 5 assert all([1 <= A[i] <= MX - 1 for i in xrange(N)]) assert len(A) == N MOD = 10 ** 9 + 7 tup = [0] * MX for v in A: tup[v] += 1 count = 0 for i in xrange(1, MX): for j in xrange(i + 1, MX): for k in xrange(j + 1, MX): count += tup[i] * tup[j] * tup[k] count %= MOD print count