编程题
### 问题描述
小蓝是一位爱好数学的数学家,他正在研究一个有趣的问题。他有一个由 $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$ 取模的结果。
### 样例输入
```
3
2 3 4
```
### 样例输出
```
8
```