Some time ago Mister B detected a strange signal from the space, which he started to study.

After some transformation the signal turned out to be a permutation p of length n or its cyclic shift. For the further investigation Mister B need some basis, that's why he decided to choose cyclic shift of this permutation which has the minimum possible deviation.

Let's define the deviation of a permutation p as <image>.

Find a cyclic shift of permutation p with minimum possible deviation. If there are multiple solutions, print any of them.

Let's denote id k (0 ≤ k < n) of a cyclic shift of permutation p as the number of right shifts needed to reach this shift, for example:

  * k = 0: shift p1, p2, ... pn, 
  * k = 1: shift pn, p1, ... pn - 1, 
  * ..., 
  * k = n - 1: shift p2, p3, ... pn, p1. 

Input

First line contains single integer n (2 ≤ n ≤ 106) — the length of the permutation.

The second line contains n space-separated integers p1, p2, ..., pn (1 ≤ pi ≤ n) — the elements of the permutation. It is guaranteed that all elements are distinct.

Output

Print two integers: the minimum deviation of cyclic shifts of permutation p and the id of such shift. If there are multiple solutions, print any of them.

Examples

Input

3
1 2 3


Output

0 0


Input

3
2 3 1


Output

0 1


Input

3
3 2 1


Output

2 1

Note

In the first sample test the given permutation p is the identity permutation, that's why its deviation equals to 0, the shift id equals to 0 as well.

In the second sample test the deviation of p equals to 4, the deviation of the 1-st cyclic shift (1, 2, 3) equals to 0, the deviation of the 2-nd cyclic shift (3, 1, 2) equals to 4, the optimal is the 1-st cyclic shift.

In the third sample test the deviation of p equals to 4, the deviation of the 1-st cyclic shift (1, 3, 2) equals to 2, the deviation of the 2-nd cyclic shift (2, 1, 3) also equals to 2, so the optimal are both 1-st and 2-nd cyclic shifts.
import java.util.*;
public class a819 {
public static int[] h=new int[3000000];
public static int[] cs=new int[3000000];
public static int[] p=new int[3000000];
public static int[] a=new int[3000000];
public static long sum,ans,cnt;
public static int hl;
public static Scanner inp=new Scanner(System.in);
public static Random ran=new Random(30);
  public static void sort(int l1,int r1){
	  int m=p[cs[(l1+r1)/2]];
	  int l=l1;
	  int r=r1;
	  while (l<r){
		while ((l<r1)&(p[cs[l]]>m))l++;
		while ((r>l1)&(p[cs[r]]<m))r--;
		if (l<=r){
			int z=cs[l];cs[l]=cs[r];cs[r]=z;l++;r--;
		}
	  }
	  if (r1==l1+1) return;
	  if(l1<r)sort(l1,r);
	  if(l<r1)sort(l,r1);
  }
  public static void up(int x){
	  if ((x==1)|(p[h[x]]<=p[h[x/2]]))return;
	  int z=h[x];h[x]=h[x/2];h[x/2]=z;
	  up(x/2);
  }
  public static void down(int x){
	  int y=2*x;
	  if (y>hl) return;
	  if ((y<hl)&(p[h[y]]<p[h[y+1]]))y++;
	  if (p[h[y]]<=p[h[x]])return;
	  int z=h[x];h[x]=h[y];h[y]=z;
	  down(y);
  }
  public static void insert(int x){
	  hl++;
	  h[hl]=x;
	  up(hl);
  }
  public static void top(){
	  h[1]=h[hl];
	  hl--;
	  down(1);
  }
  public static void main(String args[]){
	 int st=0;
	 int n=inp.nextInt();
	 for (int i=1;i<=n;i++){
		 p[i]=inp.nextInt();
		 a[i]=p[i];
		 a[i+n]=a[i];
		 p[i]=p[i]-i;
		 p[i+n]=p[i]-n;
	 }
	 for (int i=1;i<2*n;i++){
		 cs[i]=i;
	 }
	 sort(1,2*n-1);
	 for (int i=1;i<=n;i++){
		 ans=ans+Math.abs(p[i]);
	 }
	 sum=ans;
	 int l=1;
	 if (p[1]>0)cnt=1;
	 for (int i=1;i<n;i++)
	 {
		 if (p[i]+i-1>0)cnt--;
		 if (p[i+n]+i>0)cnt++;
		 while (p[cs[l]]+i>0){
			 if (l==2*n)break;
			 if ((cs[l]>i)&(cs[l]<i+n))cnt++;
			 l++;
		}
		long z=-Math.abs(p[i]+i-1)+Math.abs(p[i+n]+i)-n;
		sum=sum+z+2*cnt+1;
		if (ans>sum){ans=sum;st=n-i;}
	 }
	 System.out.println(ans+" "+st);
  }
}
