Задача №114770. Странная сумма

В декабре студенту Лёше нужно готовиться к экзаменам. Поэтому он решил за несколько дней повторить все курсы.

Сегодня Лёша решил сесть за подготовку к экзамену по физике. План на сегодня — выучить последовательность \(a\) из \(n\) целочисленных физических констант. К сожалению, поскольку в физике Лёша совсем ничего не понимает, он постоянно отвлекается на какие-то странные занятия. Например, он фиксирует некоторый подотрезок последовательности \(a_l, a_{l+1}, \ldots, a_r\), и считает для него странную сумму следующим образом:

  1. Лёша перебирает все пары \(x, y\), такие что \(l \le x \le y \le r\).
  2. Для каждой пары \(x, y\) Лёша добавляет в странную сумму расстояние Хэмминга между отрезками последовательности \(a_x, a_{x+1}, \ldots, a_y\) и \(a_l, a_{l+1}, \ldots a_{l+(y-x)}\).

Расстоянием Хэмминга между последовательностями \(p_1, p_2, \ldots, p_k\) и \(q_1, q_2, \ldots, q_k\) называется число индексов \(i\), таких что \(p_i \ne q_i\).

Ваша задача — помочь Лёше поскорее посчитать странные суммы для всех интересующих его отрезков \([l, r]\), чтобы он поскорее вернулся к учёбе.

Входные данные

В первой строке даны два числа \(n\) и \(q\) (\(1 \leq n, q \leq 2 \cdot 10 ^ 5\)) — длина последовательности и количество отрезков, для которых нужно посчитать странную сумму.

В следующей строке записаны числа \(a_1, a_2, \ldots, a_n\) (\(1 \leq a_i \leq 10^6\)) — имеющуюся у Лёши последовательность.

После этого следует \(q\) строк запросов, в каждой строке находятся числа \(l_i\) и \(r_i\) (\(1 \le l_i \le r_i \le n\)), означающие, что для отрезка с \(l_i\)-го по \(r_i\)-й символ включительно Лёше нужно посчитать странную сумму.

Выходные данные

В \(i\)-й строке выведите число, равное странной сумме на отрезке из запроса под номером \(i\).

Примечание

Рассмотрим последний запрос в первом примере. В нём последовательность Лёши равна \([1, 2, 1, 3]\), а также выбран подотрезок с \(1\) до \(4\).

Обозначим за \(h\) расстояние Хэмминга. Тогда ответом является сумма следующих величин:

  • \(h([1, 2, 1, 3], [1, 2, 1, 3]) = 0\)
  • \(h([1, 2, 1], [1, 2, 1]) = 0\)
  • \(h([2, 1, 3], [1, 2, 1]) = 3\)
  • \(h([1, 2], [1, 2]) = 0\)
  • \(h([2, 1], [1, 2]) = 2\)
  • \(h([1, 3], [1, 2]) = 1\)
  • \(h([1], [1]) = 0\)
  • \(h([2], [1]) = 1\)
  • \(h([1], [1]) = 0\)
  • \(h([3], [1]) = 1\)

Итоговая сумма равна \(8\).

Система оценки

Тесты к этой задаче состоят из семи групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов необходимых групп.

Дополнительные ограничения
Группа Баллы \(n, q\) \(a_i\) Необх. группы Комментарий
0 0 Тесты из условия.
1 10 \(n, q \leq 100\) 0
2 15 \(n, q \leq 1000\) 0, 1
3 15 \(n, q \leq 10\,000\) 0, 1, 2
4 15 \(n, q \leq 100\,000\) \(a_i \leq 2\)
5 15 \(n, q \leq 100\,000\) \(a_i \leq 50\) 0, 4
6 15 \(n, q \leq 100\,000\) 0–5
7 15 0–6

Примеры
Входные данные
4 4
1 2 1 3
1 1
2 3
2 4
1 4
Выходные данные
0
1
4
8
Входные данные
7 5
2 1 5 6 6 2 3
1 4
4 7
4 4
1 3
3 5
Выходные данные
10
7
0
4
3
Сдать: для сдачи задач необходимо войти в систему