#ZF1176. just swap

just swap

Description

给出互不相等的 nn 个数。你可以进行任意次以下操作

1 选择 i,j  (1i,jn)i,j\ \ (1 \leq i,j \leq n) 交换 ai,aja_i,a_j

2 将 aia_i 变为 ai+1a_i+1

3 将 aia_i 变为 ai1a_i-1

请输出将这个数组变得升序所需要的最少操作次数。

Format

Input

第一行包含一个整数 nn,其中 1n2×1051 \leq n \leq 2\times 10^5,代表数组的长度。

第二行包括 nn 个互不相同的整数,其中第 iiaia_i 表示数组中第 ii 个元素的大小,其中 1ai1061\leq a_i \leq 10^6

Output

输出一个整数,表示最少操作次数。

Samples

4
4 3 2 1
2

Limitation

1s, 256KiB for each test case.