# 包除原理の典型問題 # 解説を見てしまったが、これを解けないのはダメ。 from collections import Counter N=int(input()) A=[int(input()) for i in range(N)] C=Counter(A) mod=10**9+7 FACT=[1] for i in range(1,5500+1): FACT.append(FACT[-1]*i%mod) DP=[0]*(N+1) DP[0]=1 for c in C: if c