Обоени жетони

Дадена ви е долга низа од N обоени жетони. Заради едноставност, различните бои се претставени со различен позитивен цел број. Така, секој елемент од низата A1, A2,…, AN ја претставува бојата на соодветниот жетон.

Се поставува прашањето, на колку различни начини можеме да избереме 3 жетони со иста боја од горната низа. За да биде поинтересно, во оваа задача ќе ви поставиме Q прашанки, и секоја прашанка ќе каже за кој опсег во низата не интересира горното прашање.

Формално, за секое q = 1, 2, …, Q, q-тата прашанка ви дава два броја lq и rq, а вие треба да го отпечатите бројот на целобројни тројки (i, j, k) такви што lq ≤ i < j < k ≤ rq​, и Ai​ = Aj ​= Ak​.



Влез

Во првиот ред од влезот се дадени целите броеви N (1 ≤ N ≤ 2×105) и Q (1 ≤ Q ≤ 2×105).
Во вториот ред се дадени N цели броеви, елементите на низата А (1 ≤ Ai​ ​≤ 2×105).
Во следните Q редови се дадени по два цели броја, lq​ ​и rq​ (1 ≤ lq​ ​≤ rq​ ​≤ N) кои ја опишуваат q-тата прашанка.

Забелешка.
Во подзадача 1, за 18 поени: Q ≤ 100
Во подзадача 2, за 20 поени: 1 ≤ Ai ≤ 1000



Излез

Отпечатете во Q редови по еден цел број - одговорот на секоја од прашанките.



Ограничувања

Временско ограничување: 700 milliseconds
Мемориско ограничување: 512 megabytes



Примери


влез
10 5
1 5 1 1 2 1 2 5 2 8
1 4
1 6
5 9
1 10
4 8
излез
1
4
1
5
0


Објаснување на примерот:
Во прашанката (1, 4) тројки се: (1, 3, 4)
Во прашанката (1, 6) тројки се: (1, 3, 4), (1, 3, 6), (1, 4, 6), (3, 4, 6)
Во прашанката (5, 9) тројки се: (5, 7, 9)
Во прашанката (1, 10) тројки се: (1, 3, 4), (1, 3, 6), (1, 4, 6), (3, 4, 6), (5, 7, 9)
Во прашанката (4, 8) нема тројки.



 Submit your code