题目描述
给定一个长度为 N 的正整数序列 (A1,A2,…,AN),以及 Q 个有关该序列的查询。
对于每个查询 q=1,2,…,Q,第 q 个查询给出一个整数对 (lq,rq);
计算满足以下条件的整数三元组 (i,j,k) 的数量:
- lq≤i<j<k≤rq,且
- Ai=Aj=Ak。
约束条件
- 1≤N≤2×105
- 1≤Q≤2×105
- 1≤Ai≤2×105
- 1≤lq≤rq≤N
- 输入中的所有值都是整数。
输入
输入以以下格式从标准输入中给出:
N Q
A1 A2 … AN
l1 r1
l2 r2
⋮
lQ rQ
输出
输出 Q 行。对于 q=1,2,…,Q,第 q 行应包含第 q 个查询的答案。
示例输入 1
10 4
2 7 1 8 2 8 1 8 2 8
1 10
1 9
2 10
5 5
示例输出 1
5
2
4
0
对于第一个查询,有五个满足问题描述条件的整数三元组:(1,5,9),(4,6,8),(4,6,10),(4,8,10) 和 (6,8,10)。
示例输入 2
20 10
2 2 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 1 2 1
12 16
17 18
12 18
4 9
13 13
2 5
6 13
2 14
7 14
8 12
示例输出 2
1
0
5
2
0
1
11
55
8
1