#P7018. 求和

求和

题目描述

清楚姐姐有一个长为 nn 的序列 a1,a2,,ana_1,a_2,\cdots,a_n

她定义 sum(l,r)sum(l,r)al,al+1,,ara_l,a_{l+1},\cdots,a_r 这些数去重后的和。

你需要求出

l=1nr=lnsum(l,r)\sum_{l=1}^n\sum_{r=l}^n\text{sum}(l,r)

109+710^9+7 取模的值。

输入格式

第一行一个正整数 nn 表示序列长度。

第二行 nn 个正整数 a1,a2,,ana_1,a_2,\cdots,a_n

输出格式

一个整数表示结果。

样例

4
1 1 4 5
51

【说明】

sum(1,1)=1,sum(1,2)=1,sum(1,3)=5,sum(1,4)=10sum(1,1)=1,sum(1,2)=1,sum(1,3)=5,sum(1,4)=10

$\text{sum}(2,2)=1,\text{sum}(2,3)=5,\text{sum}(2,4)=10sum(2,2)=1,sum(2,3)=5,sum(2,4)=10$

$\text{sum}(3,3)=4,\text{sum}(3,4)=9sum(3,3)=4,sum(3,4)=9$

sum(4,4)=5sum(4,4)=5\text{sum}(4,4)=5sum(4,4)=5

因此答案为 1+1+5+10+1+5+10+4+9+5=511+1+5+10+1+5+10+4+9+5=51

数据范围与提示

对于 100%100\% 的数据,1n5×105,1ai1091\le n\le 5\times 10^5,1\le a_i\le 10^9