#P6477. 子序列问题

子序列问题

子序列问题

  • 时间限制:2 秒
  • 内存限制:512 MiB

题目描述

给定一个长度为 nn 的正整数序列 A1,A2,,AnA_1,A_2,\ldots,A_n

定义 f(l,r)f(l,r) 为子数组 Al,Al+1,,ArA_l,A_{l+1},\ldots,A_r 中不同整数的个数。求

l=1nr=lnf(l,r)2\sum_{l=1}^{n}\sum_{r=l}^{n} f(l,r)^2

109+710^9+7 取模后的结果。

输入格式

第一行输入一个正整数 nn

第二行输入 nn 个正整数 A1,A2,,AnA_1,A_2,\ldots,A_n

输出格式

输出一行一个非负整数,表示答案对 109+710^9+7 取模后的结果。

样例输入 1

4
2 1 3 2

样例输出 1

43

样例输入 2

3
1 1 1

样例输出 2

6

数据范围

对于所有数据,保证 1n1061\le n\le10^61Ai1091\le A_i\le10^9

子任务编号 分值 特殊限制
1 15 n100n\le100
2 所有元素均相等
3 所有元素互不相同
4 25 n105n\le10^5
5 30 无特殊限制