EduBrick

M. Тройки равных

1000 мс · 256 МБ · всё или ничего

То же, что классная задача M, только считать надо не пары, а тройки индексов i<j<ki < j < k с ai=aj=aka_i = a_j = a_k.

Формат ввода

В первой строке - число nn (1≤n≤1051 \le n \le 10^5).

Во второй строке - nn чисел aia_i (1≤ai≤1061 \le a_i \le 10^6).

В третьей строке - число запросов qq (1≤q≤1051 \le q \le 10^5).

В следующих qq строках - пары ll и rr (1≤l≤r≤n1 \le l \le r \le n).

Формат вывода

Для каждого запроса выведите количество троек равных элементов на отрезке.

Примеры

ввод
5
1 1 2 1 2
3
1 5
2 4
3 3
вывод
1
0
0
ввод
6
7 7 7 7 7 7
2
1 6
2 5
вывод
20
4
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.