#NOVICE65. Derangements HARD

Derangements HARD

A derangement of n numbers is a permutation of those numbers in which none of the numbers appears in its original place. For example, the numbers {1, 2, 3} can be deranged into {2, 3, 1} and {3, 1, 2}. We can modify this slightly for n numbers that are not necessarily distinct by saying that no number in the derangement can be in the place that a number of the same value was in in the original ordering. So the numbers {1, 1, 2, 2, 3} could be deranged into {2, 2, 1, 3, 1}, {2, 2, 3, 1, 1}, {2, 3, 1, 1, 2}, and {3, 2, 1, 1, 2}.

Input

First line contains T (1 <= T <= 100) the number of test cases. Each test case contains two lines. First line contains an integer N (1 <= N <= 15) denoting total number of elements in the array. Second line contains a space separated list of N integers Ai such that 0 <= Ai < N.

Output

For each test case output an integer, the total number of derangements of the array.

Example

Input:
2
5
1 1 2 2 3
6
0 0 0 1 1 1

Output: 4 1

</p>