CF1513B.AND Sequences

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

A sequence of nn non-negative integers ( n2n \ge 2 ) a1,a2,,ana_1, a_2, \dots, a_n is called good if for all ii from 11 to n1n-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 aa of size nn ( ngeq2n \\geq 2 ). Find the number of permutations pp of numbers ranging from 11 to nn , for which the sequence a_p_1a\_{p\_1} , a_p_2a\_{p\_2} , ... , a_p_na\_{p\_n} is good. Since this number can be large, output it modulo 109+710^9+7$$.

输入格式

The first line contains a single integer tt ( 1t1041 \leq t \leq 10^4 ), denoting the number of test cases.

The first line of each test case contains a single integer nn ( 2n21052 \le n \le 2 \cdot 10^5 ) — the size of the array.

The second line of each test case contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n ( 0ai1090 \le a_i \le 10^9 ) — the elements of the array.

It is guaranteed that the sum of nn over all test cases doesn't exceed 21052 \cdot 10^5 .

输出格式

Output tt lines, where the ii -th line contains the number of good permutations in the ii -th test case modulo 109+710^9 + 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 66 permutations possible with numbers from 11 to 33 : [1,2,3][1,2,3] , [1,3,2][1,3,2] , [2,1,3][2,1,3] , [2,3,1][2,3,1] , [3,1,2][3,1,2] , [3,2,1][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 3636 permutations for which the sequence is good. One of them is the permutation [1,5,4,2,3][1,5,4,2,3] which results in the sequence s=[0,0,3,2,0]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$ .
首页