CF BUDDY
← Problems·

1557C · Moamen and XOR

1700 · bitmasks, combinatorics, dp

Problem: Moamen and Ezzat are playing a game. They create an array aa of nn non-negative integers where every element is less than 2k2^k.

Moamen wins if a1&a2&a3&&ana1a2a3ana_1 \,\&\, a_2 \,\&\, a_3 \,\&\, \ldots \,\&\, a_n \ge a_1 \oplus a_2 \oplus a_3 \oplus \ldots \oplus a_n.

Here &\& denotes the bitwise AND operation, and \oplus denotes the bitwise XOR operation.

Please calculate the number of winning for Moamen arrays aa.

As the result may be very large, print the value modulo 10000000071\,000\,000\,007 (109+710^9 + 7).

Input Format: The first line contains a single integer tt (1t51 \le t \le 5)— the number of test cases.

Each test case consists of one line containing two integers nn and kk (1n21051 \le n\le 2\cdot 10^5, 0k21050 \le k \le 2\cdot 10^5).

Output Format: For each test case, print a single value — the number of different arrays that Moamen wins with.

Print the result modulo 10000000071\,000\,000\,007 (109+710^9 + 7).

Note: In the first example, n=3n = 3, k=1k = 1. As a result, all the possible arrays are [0,0,0][0,0,0], [0,0,1][0,0,1], [0,1,0][0,1,0], [1,0,0][1,0,0], [1,1,0][1,1,0], [0,1,1][0,1,1], [1,0,1][1,0,1], and [1,1,1][1,1,1].

Moamen wins in only 55 of them: [0,0,0][0,0,0], [1,1,0][1,1,0], [0,1,1][0,1,1], [1,0,1][1,0,1], and [1,1,1][1,1,1].

Sample Cases

Case 1

Input

3
3 1
2 1
4 0

Output

5
2
1

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