Entirely Unsorted Sequences

중복 원소가 있는 수열을 순열로 재배열할 때, 정렬된 위치에 놓인 원소가 하나도 없는 경우의 수를 1e9+9로 나눈 나머지로 구한다.

어려움8조합론동적 계획법정렬아직 제출이 없습니다시간 제한4초메모리 제한512 MB

문제

You have recently been promoted to lead scientist at NASA, the National Association for Sorting Algorithms. Congratulations! Your primary responsibility is testing the sorting algorithms that your team produces. Fortunately, NASA has a large budget this year, and you were able to buy some state of the art integers you can use to test the sorting algorithms.

As the lead scientist, you are well aware that algorithms are tested by their behaviour on worst case inputs. So, to test sorting algorithms, you need sequences that are as unsorted as possible.

Given a sequence of numbers (a1, . . . , an) we say that an element ak is sorted if for all indices j such that j > k, aj ≥ ak and for all indices j such that j < k, aj ≤ ak. For example, in

(1, 3, 2, 3, 4, 6, 5, 5)

the sorted elements are the 1, the second occurrence of 3, and the 4. Note that a sequence is sorted if and only if all its elements are sorted. A sequence is called entirely unsorted if none of its elements are sorted.

Given a sequence of integers, what is the number of entirely unsorted sequences you can make by permuting its elements? Two sequences (b1, . . . , bn) and (c1, . . . , cn) are considered to be different if there is some index i ∈ {1, . . . , n} for which bi ≠ ci. Because the number of permutations may be very large, please give it modulo 109 + 9.

입력

The input starts with an integer 1 ≤ n ≤ 5000. Then follows a single line with n integers a1, . . . , an, with 0 ≤ ai ≤ 109 for all i.

출력

Print a single integer: the number of entirely unsorted sequences you can make by permuting the ai, modulo 109 + 9.