INVCNT - Inversion Count

Let A[0 ... n - 1] be an array of n distinct positive integers. If i < j and A[i] > A[j] then the pair (i, j) is called an inversion of A. Given n and an array A your task is to find the number of inversions of A.

Input

The first line contains t, the number of testcases followed by a blank space. Each of the t tests start with a number n (n ≤ 200000). Then n + 1 lines follow. In the ith line a number A[i - 1] is given (A[i - 1] ≤ 107). The (n + 1)th line is a blank space.

Output

For every test output one line giving the number of inversions of A.

Example

Input:
2

3
3
1
2

5
2
3
8
6
1


Output:
2
5

Added by:Paranoid Android
Date:2010-03-06
Time limit:3.599s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: PERL6

hide comments
2024-12-01 16:19:58
easily solved by many approaches such as policy based data structure ordered_set and segment tree.

Last edit: 2024-12-01 16:30:48
2024-08-07 17:00:39
I got AC with golang. As others have said, make sure you use int64 for the result count.
2024-06-05 02:22:35
<snip>
[Simes]: No thanks, we don't want solutions.


Last edit: 2024-06-05 07:45:00
2024-03-25 09:20:56
@onis No you use your brain so I don't think you can solve it
2024-03-25 09:20:05
guys do I use the amogus method to solve this?????
2023-10-13 20:41:33
i agree with @hraj123. don't use int. i used long long and got my solution accepted in the first try after the update;
2023-06-27 06:57:03
HELLO world <2
(
2023-06-10 12:28:50
@new_mutant, it will overflow bcoz of array size not bcoz of array values, as total pair values can have upperbound as (n^2-n)/2 where n<=2e5.

Last edit: 2023-06-27 19:31:46
2023-05-08 02:10:41
Ojo con el numero de "inversions" que se pueden dar en casos muy grandes y ordenados.

Last edit: 2023-05-08 02:11:02
2023-05-04 14:06:55
How the first test case answer is 2 ?
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.