// fixed なし #include #include #include #include #include using namespace std; int main() { int N; cin >> N; assert(1 <= N and N <= 20); double ret = 1; for (int i = 1; i <= N; ++i) ret *= i; map counter; vector A(N + 1); for (int i = 0; i < N; ++i) { cin >> A[i]; counter[A[i]]++; } bool is_sorted = true; for (int i = 1; i < N; ++i) { if (A[i - 1] > A[i]) is_sorted = false; } assert(!is_sorted); for (auto [a, num_a] : counter) { for (int i = 1; i <= num_a; ++i) ret /= i; } cout << ret << '\n'; }