Input Format


N K
a_1 a_2 a_3 ... a_N


Output Format

Print the minimum cost in one line. In the end put a line break.


Constraints

* 1 ≤ K ≤ N ≤ 15
* 1 ≤ a_i ≤ 10^9



Scoring

Subtask 1 [120 points]


* N = K

Subtask 2 [90 points]


* N ≤ 5
* a_i ≤ 7

Subtask 3 [140 points]


* There are no additional constraints.

Output Format

Print the minimum cost in one line. In the end put a line break.


Constraints

* 1 ≤ K ≤ N ≤ 15
* 1 ≤ a_i ≤ 10^9



Scoring

Subtask 1 [120 points]


* N = K

Subtask 2 [90 points]


* N ≤ 5
* a_i ≤ 7

Subtask 3 [140 points]


* There are no additional constraints.

Input Format


N K
a_1 a_2 a_3 ... a_N

Example

Input

5 5
3949 3774 3598 3469 3424


Output

1541
# include<stdio.h>
int n,kk,a[20];
long long ans=10000000000007;
void solve(int k,long long sum,int i,int cut)
{
	if(cut==kk)
	{
		if(ans>sum)
		ans=sum;
	}
	if(k==n)
	return; 
	if(a[k]<=i)
	{
		solve(k+1,sum+(i-a[k]+1),i+1,cut+1);
		solve(k+1,sum,i,cut);
	}
	else
	{
		solve(k+1,sum,a[k],cut+1);
	} 
	
 } 
int main () 
{
	scanf("%d %d",&n,&kk);
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	solve(1,0,a[0],1);
	printf("%lld\n",ans);
}