编程题
### 问题描述
大衣有长度为 $N$ 的数组 $A$,数组 $A$ 的一个长度为 $M$ 的子序列为 $S=S_1,S_2,\dots,S_M$,定义 $S$ 的幸福值如下:
- 先将子序列 $S$ 按非递减顺序排序。
- 子序列 $S$ 的幸福值是对于所有 $1\le i\le |S|$,满足 $S_i=i$ 的数量。
大衣想知道对于数组 $A$ 的所有 $2^N-1$ 个子序列,它们的幸福值之和是多少。由于答案可能很大,将其对 $10^9+7$ 取模。
### 输入格式
第一行输入一个正整数 $N$ 表示数组的长度。
第二行输入 $N$ 个整数 $A_1,A_2,\cdots,A_N$ 表示数组的元素。
### 输出格式
输出一个整数表示数组 $A$ 所有子序列的幸福值之和,由于答案可能很大,取其对 $10^9+7$ 取模的值。
### 样例输入1
```text
2
1 2
```
### 样例输出1
```text
3
```
### 样例输入2
```text
5
3 2 5 5 3
```
### 样例输出2
```text
5
```
### 样例输入3
```text
4
1 1 2 1
```
### 样例输出3
```text
17
```
### 说明
样例 $1$:给出的数组 $A$ 是 `[1,2]`,它有三个子序列:
- `[1]`:$S_1=1$,其幸福值为 $1$。
- `[2]`:其幸福值为 $0$。
- `[1,2]`:$S_1=1,S_2=2$,其幸福值为 $2$。
所有子序列的幸福值之和为 $1+0+2=3$。
### 评测数据规模
对于所有的评测数据,$1\le N\le 2\times10^5$,$1\le A_i\le N$。