#L2809. 「COCI 2014.11.08」NORMA

「COCI 2014.11.08」NORMA

题目描述

在 Mirko 生日那天,他收到了祖母送他的一个数列 AA。Mirko 居住的小镇上有一户人家专门收购数列(什么人啊)。对于一个数列 LL,它的价值 vL=minLi×maxLi×lenLv_L=\min{L_i}\times \max{L_i}\times \mathit{len}_L(即数列的最小值,最大值与长度的积)。Mirko 计算了 AA 的所有子串的价值之和。 为了检查他的结果,你也要这么做。答案对 10910^9 取模。

输入格式

第一行一个正整数 NN。 接下来 NN 行,每行一个正整数 aia_i,描述了 Mirko 的数列 AA

输出格式

一行代表所有子串的价值之和对 10910^9 取模的结果。

样例 1

输入

2
1
3

输出

16

所有子串分别为 (1),(3),(1,3)(1),(3),(1,3)

样例 2

输入

4
2
4
1
4

输出

109

所有子串分别为 $(2),(4),(1),(4),(2,4),(4,1),(1,4),(2,4,1),(4,1,4),(2,4,1,4)$。

样例 3

输入

6
8
1
3
9
7
4

输出

1042

数据范围与提示

对于 4040% 的数据,N<5000N<5000

对于 100100% 的数据,1N5×1051\leq N \leq 5\times 10^5, 1ai1081\leq a_i \leq 10^8