問題文
長さ N の配列 a が与えられます。
1≤l≤r≤N について、f(l,r) を以下のように定義します。
- al,al+1,...,ar が全て異なる場合、f(l,r)=l≤i≤r∑ai
- そうでない場合、f(l,r)=0
1≤l≤r≤N∑f(l,r) を求めてください。
ただし、答えは非常に大きくなる可能性があるので、109+7 で割った余りを出力してください。
制約
- 1≤N≤105
- 1≤ai≤109
入力
入力はすべて整数である。
出力
計算結果を一行に出力せよ。
サンプル
a に含まれる数値はすべて異なるので、答えは (1)+(2)+(3)+(1+2)+(2+3)+(1+2+3)=20 です。
入力3
10
31415 9 265358 9 7 9 323846264 338327 9 5028841
109+7 で割った余りを出力することに注意してください。