编程题
### 题目描述
现定义数组单调和为所有元素 $i$ 的 $\mathrm{f}(\mathrm{i})$ 值之和。
这里的 $\mathrm{f}(\mathrm{i})$ 函数定义为元素 $i$ 左边(不包括其自身)小于等于它的数字之和。
请设计一个高效算法,计算数组的单调和,这个和可能很大,请你输出这个和对 $10^{9}+7$ 取模的结果。
### 输入描述
第一行一个数字 $n$ 表示数组的长度。
第二行 $n$ 个整数 $a_1$,$a_2$,$…$,$a_n$, 其中 $a_i$ 表示数组的第 $i$ 项。
### 输出描述
输出一个整数,表示答案,并对 $10^{9}+7$ 取模。
### 输入格式
```
6
1 3 5 2 4 6
```
### 输出格式
```
27
```
### 样例说明
$\mathrm{f}(\mathrm{1}) = 0$,$\mathrm{f}(\mathrm{2}) = 1$,$\mathrm{f}(\mathrm{3}) = 1 + 3 = 4$,$\mathrm{f}(\mathrm{4}) = 1$,$\mathrm{f}(\mathrm{5}) = 1 + 3 + 2 = 6$,$\mathrm{f}(\mathrm{6}) = 1 + 3 + 5 + 2 + 4 + 6 = 15$。
所以数组单调和:$\mathrm{f}(\mathrm{1})+\mathrm{f}(\mathrm{2})+\mathrm{f}(\mathrm{3})+\mathrm{f}(\mathrm{4})+\mathrm{f}(\mathrm{5})+\mathrm{f}(\mathrm{6}) = 27$。
### 数据范围
对于所有的测评数据,$1 \leq n \leq 2 \times10^{4}$,$1 \leq a_i \leq 10^6 $。