Олимпиадный тренинг

Задача . F. Махмуд, Эхаб и ещё одна задача про исключающее ИЛИ


У Эхаба есть массив a из n целых чисел. Он любит операцию побитового исключающего ИЛИ, а ещё он любит надоедать Махмуду, поэтому он придумал для него задачу. Он дал Махмуду q запросов. В каждом из них он дал Махмуду два целых числа l и x и попросил его найти число подпоследовательностей первых l элементов массива таких, что побитовое исключающее ИЛИ всех этих чисел будет равно x. Можете ли вы помочь Махмуду ответить на запросы?

Подпоследовательность может содержать не соседние элементы.

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

Первая строка содержит целые числа n и q (1 ≤ n, q ≤ 105) — число элементов в массиве и число запросов.

В следующей строке содержится n целых чисел a1, a2, ..., an (0 ≤ ai < 220) — элементы массива.

В каждой из следующих q строк содержатся целые числа l и x (1 ≤ l ≤ n, 0 ≤ x < 220) — запросы Эхаба.

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

Для каждого запроса, выведите ответ по модулю 109 + 7 в новой строке.

Примечание

Побитовое исключающее ИЛИ всех чисел пустого множества равно 0, а побитовое исключающее ИЛИ всех чисел множества из одного элемента равно этому элементу.


Примеры
Входные данныеВыходные данные
1 5 5
0 1 2 3 4
4 3
2 0
3 7
5 7
5 8
4
2
0
4
0
2 3 2
1 1 1
3 1
2 0
4
2

time 1000 ms
memory 512 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя