#D5755. The Number of Inversions
The Number of Inversions
The Number of Inversions
For a given sequence , the number of pairs where and , is called the number of inversions. The number of inversions is equal to the number of swaps of Bubble Sort defined in the following program:
bubbleSort(A) cnt = 0 // the number of inversions for i = 0 to A.length-1 for j = A.length-1 downto i+1 if A[j] < A[j-1] swap(A[j], A[j-1]) cnt++
return cnt
For the given sequence , print the number of inversions of . Note that you should not use the above program, which brings Time Limit Exceeded.
Constraints
- are all different
Input
In the first line, an integer , the number of elements in , is given. In the second line, the elements () are given separated by space characters.
Examples
Input
5 3 5 2 1 4
Output
6
Input
3 3 1 2
Output
2
inputFormat
Input
In the first line, an integer , the number of elements in , is given. In the second line, the elements () are given separated by space characters.
Examples
Input
5 3 5 2 1 4
outputFormat
Output
6
Input
3 3 1 2
Output
2
样例
3
3 1 2
2