CF BUDDY
← Problems·

959F · Mahmoud and Ehab and yet another xor task

2400 · bitmasks, dp, math

Problem: Ehab has an array a of n integers. He likes the bitwise-xor operation and he likes to bother Mahmoud so he came up with a problem. He gave Mahmoud q queries. In each of them, he gave Mahmoud 2 integers l and x, and asked him to find the number of subsequences of the first l elements of the array such that their bitwise-xor sum is x. Can you help Mahmoud answer the queries?

A subsequence can contain elements that are not neighboring.

Input Format: The first line contains integers n and q (1 ≤ n, q ≤ 105), the number of elements in the array and the number of queries.

The next line contains n integers a1, a2, ..., an (0 ≤ ai < 220), the elements of the array.

The next q lines, each contains integers l and x (1 ≤ l ≤ n, 0 ≤ x < 220), representing the queries.

Output Format: For each query, output its answer modulo 109 + 7 in a newline.

Note: The bitwise-xor sum of the empty set is 0 and the bitwise-xor sum of a set containing one element is that element itself.

Sample Cases

Case 1

Input

5 5
0 1 2 3 4
4 3
2 0
3 7
5 7
5 8

Output

4
2
0
4
0

Case 2

Input

3 2
1 1 1
3 1
2 0

Output

4
2

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback