Problem: Sadly, the problem setter couldn't think of an interesting story, thus he just asks you to solve the following problem.
Given an array consisting of positive integers, count the number of non-empty subsequences for which the bitwise of the elements in the subsequence has exactly set bits in its binary representation. The answer may be large, so output it modulo .
Recall that the subsequence of an array is a sequence that can be obtained from by removing some (possibly, zero) elements. For example, , , are subsequences of , but and are not.
Note that represents the bitwise AND operation.
Input Format: Each test contains multiple test cases. The first line contains the number of test cases (). The description of the test cases follows.
The first line of each test case consists of two integers and (, ) — the length of the array and the number of set bits that the bitwise the counted subsequences should have in their binary representation.
The second line of each test case consists of integers () — the array .
It is guaranteed that the sum of over all test cases doesn't exceed .
Output Format: For each test case, output a single integer — the number of subsequences that have exactly set bits in their bitwise value's binary representation. The answer may be large, so output it modulo .