Snuke has an integer sequence A of length N.

He will freely choose an integer b. Here, he will get sad if A_i and b+i are far from each other. More specifically, the sadness of Snuke is calculated as follows:

* abs(A_1 - (b+1)) + abs(A_2 - (b+2)) + ... + abs(A_N - (b+N))



Here, abs(x) is a function that returns the absolute value of x.

Find the minimum possible sadness of Snuke.

Constraints

* 1 \leq N \leq 2 \times 10^5
* 1 \leq A_i \leq 10^9
* All values in input are integers.

Input

Input is given from Standard Input in the following format:


N
A_1 A_2 ... A_N


Output

Print the minimum possible sadness of Snuke.

Examples

Input

5
2 2 3 5 5


Output

2


Input

9
1 2 3 4 5 6 7 8 9


Output

0


Input

6
6 5 4 3 2 1


Output

18


Input

7
1 1 1 1 2 3 4


Output

6
import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			
			int N = scan.nextInt();
			int[]a = new int[N];
			int[]b = new int[N];
			
			for(int i = 0;i<N;i++) {
				a[i] = scan.nextInt();
				b[i] = a[i]-i-1;
			}
			
			Arrays.sort(b);
			
			long min = Long.MAX_VALUE;
			long goukei = 0;
			
			if(b.length%2==1) {//奇数
				int B = b[b.length/2];
				for(int i = 0;i<N;i++) {
					goukei+=Math.abs(b[i]-B);
				}
				
				System.out.println(goukei);
			}else {
				long goukei1 = 0;
				int b1 = b[(b.length/2)-1];
				int b2 = b[b.length/2];
				
				for(int i = 0;i<N;i++) {
					goukei+=Math.abs(b[i]-b1);
				}
				
				for(int i = 0;i<N;i++) {
					goukei1+=Math.abs(b[i]-b2);

				}
				System.out.println(goukei<goukei1?goukei:goukei1);
				
			}
			
			
			
			
			
			
			
			
		}
	}
}
