CF749E Inversions After Shuffle

Description

You are given a permutation of integers from $ 1 $ to $ n $ . Exactly once you apply the following operation to this permutation: pick a random segment and shuffle its elements. Formally: 1. Pick a random segment (continuous subsequence) from $ l $ to $ r $ . All $\frac{n(n+1)}{2}$ segments are equiprobable. 2. Let $ k=r-l+1 $ , i.e. the length of the chosen segment. Pick a random permutation of integers from $ 1 $ to $ k $ , $ p_{1},p_{2},\dots,p_{k} $ . All $ k! $ permutation are equiprobable. 3. This permutation is applied to elements of the chosen segment, i.e. permutation $ a_{1},a_{2},\dots,a_{l-1},a_{l},a_{l+1},\dots,a_{r-1},a_{r},a_{r+1},\dots,a_{n} $ is transformed to $ a_{1},a_{2},\dots,a_{l-1},a_{l-1+p_1},a_{l-1+p_2},\dots,a_{l-1+p_{k-1}},a_{l-1+p_k},a_{r+1},\dots,a_{n} $ . Inversion if a pair of elements (not necessary neighbouring) with the wrong relative order. In other words, the number of inversion is equal to the number of pairs $ (i,j) $ such that $ i\lt j $ and $ a_{i}\gt a_{j} $ . Find the expected number of inversions after we apply exactly one operation mentioned above.

Input Format

The first line contains a single integer $ n $ ( $ 1\le n\le 100000 $ ) — the length of the permutation. The second line contains $ n $ distinct integers from $ 1 $ to $ n $ — elements of the permutation.

Output Format

Print one real value — the expected number of inversions. Your answer will be considered correct if its absolute or relative error does not exceed $ 10^{-9} $ . Namely: let's assume that your answer is $ a $ , and the answer of the jury is $ b $ . The checker program will consider your answer correct, if $\frac{\lvert a-b\rvert}{\max(1,b)}\leq10^{-9}$.