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
import sys
import itertools
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
N, K,*A= map(int, read().split())
l = [i for i in range(1,N)]
cost = float('inf')
for B in itertools.combinations(l,K-1):
  ans = 0
  pre = A[0]
  j = 0
  for i in range(1,N):
    if j == K-1:
      break
    if B[j]== i:
      j+=1
      if pre < A[i]:
        pre = A[i]
      else:
        ans += pre-A[i]+1
        pre +=1
    else:
      if pre < A[i]:
        pre = A[i]
  cost = min(ans,cost)
print(cost)