#include <bits/stdc++.h> using namespace std; #include <atcoder/all> using namespace atcoder; using ll=long long; using Graph=vector<vector<int>>; #define INF 1000000000 #define MOD 998244353 #define MAX 1000 int main(){ int N; cin>>N; vector<int> A(N); for(int i=0;i<N;i++){ cin>>A[i]; } sort(A.begin(),A.end()); ll sum=1; int i=0; while(i<N){ int x=A[i]; int cnt=0; while(i<N&&x==A[i]){ cnt++; i++; } while(cnt>0){ sum*=(ll)cnt; cnt--; } } ll x=1; for(int i=1;i<=N;i++){ x*=(ll)i; } cout<<x/sum<<'\n'; }