P25068 [AtCoder] Random LIS
省选
题目描述

Problem Statement

Given is an integer sequence of length N: $A_1, A_2, \cdots, A_N$.
An integer sequence X, which is also of length N, will be chosen randomly by independently choosing X_i from a uniform distribution on the integers $1, 2, \ldots, A_i$ for each $i (1 \leq i \leq N)$.
Compute the expected value of the length of the longest increasing subsequence of this sequence X, modulo 1000000007.
More formally, under the constraints of the problem, we can prove that the expected value can be represented as a rational number, that is$, an irreducible fraction \frac{P}{Q}$, and there uniquely exists an integer R such that $R \times Q \equiv P \pmod {1000000007}$ and $0 \leq R < 1000000007$, so print this integer R.

Input

Input is given from Standard Input in the following format:
N
$A_1 A_2 \cdots A_N$

Output

Print the expected value modulo 1000000007.

Constraints

  • $1 \leq N \leq 6$
  • $1 \leq A_i \leq 10^9$
  • All values in input are integers.

Sample Input 1

3
1 2 3

Sample Output 1

2

X becomes one of the following, with probability 1/6 for each:

  • X = (1,1,1), for which the length of the longest increasing subsequence is 1;
  • X = (1,1,2), for which the length of the longest increasing subsequence is 2;
  • X = (1,1,3), for which the length of the longest increasing subsequence is 2;
  • X = (1,2,1), for which the length of the longest increasing subsequence is 2;
  • X = (1,2,2), for which the length of the longest increasing subsequence is 2;
  • X = (1,2,3), for which the length of the longest increasing subsequence is 3.

Thus, the expected value of the length of the longest increasing subsequence is $(1 + 2 + 2 + 2 + 2 + 3) / 6 \equiv 2 \pmod {1000000007}$.

Sample Input 2

3
2 1 2

Sample Output 2

500000005

X becomes one of the following, with probability 1/4 for each:

  • X = (1,1,1), for which the length of the longest increasing subsequence is 1;
  • X = (1,1,2), for which the length of the longest increasing subsequence is 2;
  • X = (2,1,1), for which the length of the longest increasing subsequence is 1;
  • X = (2,1,2), for which the length of the longest increasing subsequence is 2.

Thus, the expected value of the length of the longest increasing subsequence is $(1 + 2 + 1 + 2) / 4 = 3 / 2. Since 2 \times 500000005 \equiv 3 \pmod {1000000007}$, we should print 500000005.

Sample Input 3

6
8 6 5 10 9 14

Sample Output 3

959563502

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
3 1 2 3
样例输出
2