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 copy
import sys

N, K = map(int, input().split())
A = list(map(int, input().split()))

def dfs(bitstring):
  if len(bitstring) == N:
    if sum(bitstring) == K:
      cost = 0
      B = copy.deepcopy(A)
      for i in range(1, N):
        if bitstring[i]:
          previousMax = max(B[0:i])
          if previousMax < B[i]:
            continue
          else:
            cost += previousMax - B[i] + 1
            B[i] = previousMax + 1
      return cost
    else:
      return sys.maxsize
  else:
    return min(dfs(bitstring + [False]), dfs(bitstring + [True]))

print(dfs([1]))