Задача №114081. Лотерея
Обратите внимание на нестандартное ограничение по памяти.
Уже долгое время вы — фанат Байтлото. Примерно столько же времени ваши родственники говорят вам, что все такие игры — это пустая трата денег. Вы уверены, что это так из-за их неумения играть! У вас есть идеальный план, и скоро все увидят, как вы выигрываете.
Есть много типов игр. Вы интересуетесь в одном из них: Битлото. Выбор был прост, так как это самый простой из предлагаемых типов игр: каждый день случайно выпадает ровно одно число. Вы записываете эти числа за \(n\) последовательных дней и получаете последовательность \(a_1, a_2, \ldots, a_n\). Вы уверены, что в этой последовательности есть какая-то закономерность, а именно, в отрезках из \(l\) последовательных дней. Ваша семья всё ещё не верит вам, так что единственный способ убедить их — это использовать серьёзную математику.
Есть \(n - l + 1\) отрезок дней длины \(l\). \(i\)-й отрезок начинается в позиции \(i\) и содержит элементы \(a_i, a_{i + 1}, \ldots, a_{i + l - 1}\). Расстояние между двумя отрезками — это количество несовпадающих элементов на соответствующих позициях. Другими словами, для отрезков \(x\) и \(y\) это количество таких \(i\) (\(0 \leq i < l\)), что \(a_{x + i}\) и \(a_{y + i}\) различны. И наконец, будем говорить, что два отрезка \(k\)-похожи, если расстояние между ними не превосходит \(k\).
Зафиксированы последовательность и число \(l\). Вам даны \(q\) запросов. В каждом запросе вам дано число \(k_j\) и для каждого из \(n - l + 1\) отрезов вы должны найти количество отрезков той же длины, которые \(k\)-похожи на данный (не считая сам этот отрезок).
Первая строка содержит два целых числа \(n\) и \(l\) (\(1 \leq l \leq n \leq 10000\)) — количество дней и длину анализируемых отрезков.
Вторая строка содержит \(n\) целых чисел \(a_1, a_2, \ldots, a_n\) (\(1 \leq a_i \leq 10 ^ 9\)), где \(a_i\)— число, выпавшее в \(i\)-й день.
Третья строка содержит целое число \(q\) (\(1 \leq q \leq 100\)) — количество запросов.
Каждая из следующих \(q\) строк содержит целое число \(k_j\) (\(0 \leq k_j \leq l\)) — параметр похожести для \(j\)-го запроса.
Выведите \(q\) строк. \(j\)-я строка должна содержать \(n - l + 1\) целых чисел, являющихся ответами на \(j\)-й запрос. \(i\)-е число в строке должно являться количеством других отрезков, которые \(k_j\)-похожи на \(i\)-й отрезок.

Пояснение к примеру из условия: в примере есть пять отрезков длины \(2\):
- первый содержит числа \(1\) \(2\)
- второй содержит числа \(2\) \(1\)
- третий содержит числа \(1\) \(3\)
- четвёртый содержит числа \(3\) \(2\)
- пятый содержит числа \(2\) \(1\)
Есть два запроса.
В первом запросе \(k=1\). Первый и ттретий отрезки отличаются только во второй позиции, поэтому расстояние между ними равно \(1\). Первый и четвёртый отрезки отличаются только в первой позиции, поэтому расстояние между ними равно \(1\). Это единственные два отрезка, которые \(1\)-похожи на первый отрезок, поэтому первое выведенное число равно \(2\).
Во втором запросе \(k=2\). Все пары отрезков \(2\)-похожи.
6 2 1 2 1 3 2 1 2 1 2
2 1 1 1 1 4 4 4 4 4