CF1513B.AND Sequences
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
A sequence of n non-negative integers ( n≥2 ) a1,a2,…,an is called good if for all i from 1 to n−1 the following condition holds true: $$$$a_1 : & : a_2 : & : \dots : & : a_i = a_{i+1} : & : a_{i+2} : & : \dots : & : a_n, $$ where \\& denotes the bitwise AND operation.
You are given an array a of size n ( ngeq2 ). Find the number of permutations p of numbers ranging from 1 to n , for which the sequence a_p_1 , a_p_2 , ... , a_p_n is good. Since this number can be large, output it modulo 109+7$$.
输入格式
The first line contains a single integer t ( 1≤t≤104 ), denoting the number of test cases.
The first line of each test case contains a single integer n ( 2≤n≤2⋅105 ) — the size of the array.
The second line of each test case contains n integers a1,a2,…,an ( 0≤ai≤109 ) — the elements of the array.
It is guaranteed that the sum of n over all test cases doesn't exceed 2⋅105 .
输出格式
Output t lines, where the i -th line contains the number of good permutations in the i -th test case modulo 109+7 .
输入输出样例
输入#1
4 3 1 1 1 5 1 2 3 4 5 5 0 2 0 3 0 4 1 3 5 1
输出#1
6 0 36 4
说明/提示
In the first test case, since all the numbers are equal, whatever permutation we take, the sequence is good. There are a total of 6 permutations possible with numbers from 1 to 3 : [1,2,3] , [1,3,2] , [2,1,3] , [2,3,1] , [3,1,2] , [3,2,1] .
In the second test case, it can be proved that no permutation exists for which the sequence is good.
In the third test case, there are a total of 36 permutations for which the sequence is good. One of them is the permutation [1,5,4,2,3] which results in the sequence s=[0,0,3,2,0] . This is a good sequence because
- $ s_1 = s_2 : & : s_3 : & : s_4 : & : s_5 = 0$ ,
- $ s_1 : & : s_2 = s_3 : & : s_4 : & : s_5 = 0$ ,
- $ s_1 : & : s_2 : & : s_3 = s_4 : & : s_5 = 0$ ,
- $ s_1 : & : s_2 : & : s_3 : & : s_4 = s_5 = 0$ .