Problem 
                         
                                 有一个自然数数组 a
1, a
2, ..., a
n。考虑它的一些子数组 a
l, a
l + 1, ..., a
r,其中 1 ≤ l ≤ r ≤ n,对于每个自然数 s,用 K
s 表示数字 s 在该子数组中出现的次数。我们称子数组的基数为 K
s·K
s·s 在所有不同整数 s 上的乘积之和。由于数组中不同数字的数量是有限的,因此总和仅包含有限数量的非零项。
需要计算给定的 t 个子数组中的每一个的基数。
输入
第一行包含两个整数 n 和 t (1 ≤ n, t ≤ 200000) —分别是数组的长度和请求的数量。
第二行包含n个自然数ai (1 ≤ a
i ≤ 10
6) —数组元素。
接下来的 t 行包含两个正整数 l 和 r (1 ≤ l ≤ r ≤ n) —对应子数组左右两端的索引。
印记
打印 t 行,其中第 i 行包含唯一的自然数——第 i 个查询子数组的基数。
示例:
 
<正文>
| 输入 | 
输出 | 
3 2 
1 2 1 
1 2 
1 3
 | 3 
6 | 
8 3 
1 1 2 2 1 3 1 1 
27 
16 
27 | 
20 
20 
20 | 
表>