Counting inversions
A permutation of integers from 1 to n is a sequence a1, a2 , a3, ..., an, such that each integer from 1 to n is appeared in the sequence exactly once.
Two integers in а permutation form an inversion, when the bigger one is before the smaller one.
As an example, in the permutation 4 2 7 1 5 6 3, there are 10 inversions in total. They are the following pairs: 4–2, 4–1, 4–3, 2–1, 7–1, 7–5, 7–6, 7–3, 5–3, 6–3.
Write program invcnt that computes the number of the inversions in a given permutation.
Input
The value for the number n (2 ≤ n ≤ 1000000) is written on the first line of the standard input. The permutation is written on the second line: n numbers, delimited by spaces.
Output
Write the count of inversions on the standard output.
Constraints
Time limit: 1 second
Memory limit: 64 megabytes
Examples
input 7 4 2 7 1 5 6 3 | output 10 |