#abc293g. [abc293_g]Triple Index

[abc293_g]Triple Index

题目描述

给定一个长度为 NN 的正整数序列 (A1,A2,,AN)(A_1, A_2, \ldots, A_N),以及 QQ 个有关该序列的查询。

对于每个查询 q=1,2,,Qq = 1, 2, \ldots, Q,第 qq 个查询给出一个整数对 (lq,rq)(l_q, r_q)
计算满足以下条件的整数三元组 (i,j,k)(i, j, k) 的数量:

  • lqi<j<krql_q \leq i < j < k \leq r_q,且
  • Ai=Aj=AkA_i = A_j = A_k

约束条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 1Ai2×1051 \leq A_i \leq 2 \times 10^5
  • 1lqrqN1 \leq l_q \leq r_q \leq N
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入中给出:

NN QQ A1A_1 A2A_2 \ldots ANA_N l1l_1 r1r_1 l2l_2 r2r_2 \vdots lQl_Q rQr_Q

输出

输出 QQ 行。对于 q=1,2,,Qq = 1, 2, \ldots, Q,第 qq 行应包含第 qq 个查询的答案。


示例输入 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)(1, 5, 9), (4, 6, 8), (4, 6, 10), (4, 8, 10)(6,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