1189 - 区间和的和
Description

输入一个长度为n的数组a,a包括(n+1)n/2个区间。每个区间所有数的和,被称为区间和,求所有(n+1)n/2个区间和的和。由于数值较大,输出mod 1e9+7的结果。

例如:

3个数1 2 3,共有6个子区间,包含的数字如下:

{1} {2} {3} {1 2} {2 3} {1 2 3},这些区间求和为1 2 3 3 5 6,这6个数字再求和为20.


Input

第一行一个整数n,表示数组长度(2<=n<=100000) 接下来n行,每行一个整数ai,表示数组的内容。(0<=ai<=50000)


Output

输出答案mod 1e9+7


Examples

Input

3
1
2
3

Output

20
题目参数
Time Limit 1 second
Memory Limit 128 MB
提交次数 1
通过次数 1