MOD = 10**9+7 SIZE = 6000 fac = [0]*SIZE fac[0] = fac[1] = 1 for i in range(2,SIZE): fac[i] = fac[i-1]*i%MOD n,*a = map(int,open(0).read().split()) r = [0]*n for i in a: r[i] += 1 dp = [1] for ri in r: dp += [0] for i in range(len(dp)-1,0,-1): dp[i] += ri*dp[i-1] dp[i] %= MOD ans = 0 sgn = 1 for i,xi in enumerate(dp): ans += sgn*xi*fac[n-i]%MOD sgn *= -1 print(ans%MOD)