编程题
### 问题描述
丽丽是一位喜欢解谜的探险家,她正在研究一个谜题。她手上有一个由 $N$ 个数字组成的序列 $C$,每个数字代表一个范围 $[1,C_i]$。丽丽想知道有多少种不同的数列 $A$ 满足以下条件:
- $A$ 中的元素在 $[1,C_i]$ 的范围内,即 $1 \leq A_i \leq C_i$。
- $A$ 中的元素两两不同,即 $A_i \neq A_j$。
答案可能非常大,因此请输出答案对 $10^9+7$ 取模的结果。
### 输入格式
第一行输入一个整数 $N$($1\leq N \leq 10^5$),表示序列 $C$ 的长度。
第二行输入 $N$ 个整数 $C_1,C_2,\cdots,C_N$($1\leq C_i \leq 10^9$),表示序列 $C$。
### 输出格式
输出一个整数,表示满足条件的不同数列 $A$ 的数量对 $10^9+7$ 取模的结果。
### 样例输入
```
2
2 3
```
### 样例输出
```
4
```