n, k = list(map(int,input().split()))

dat = list(map(int, input().split()))

i = dat.index(1) + 1 # 1originでi個目に1がある

import math



b1 = k # 今1で占有した場所

a1 = 1 # 1にたどり着くまでに必要な個数

a2 = 0

if b1 < i: # もし、iがいまよりも手前にあるなら

    a2 += math.ceil( (i - k) / (k - 1) )

b1 += a2 * (k - 1)

b1 = n if b1 > n else b1 # 1のターンでたどり着いた場所

a3 = math.ceil((n - b1) / (k - 1))

print((a1+a2+a3))
import math

n, k = list(map(int,input().split()))

dat = list(map(int, input().split()))

i = dat.index(1) + 1 # 1 origin で i 個目に 1 がある

reach = k # 今1で占有した場所

a = math.ceil((n - reach) / (k - 1))

print((1+a))
n, k = list(map(int, input().split()))
dat = list(map(int, input().split()))
i = dat.index(1) + 1  # 1originでi個目に1がある
import math

b1 = k  # 今1で占有した場所
a1 = 1  # 1にたどり着くまでに必要な個数
a2 = 0
if b1 < i:  # もし、iがいまよりも手前にあるなら
    a2 += math.ceil((i - k) / (k - 1))
b1 += a2 * (k - 1)
b1 = n if b1 > n else b1  # 1のターンでたどり着いた場所
a3 = math.ceil((n - b1) / (k - 1))
print((a1 + a2 + a3))

import math

n, k = list(map(int, input().split()))
dat = list(map(int, input().split()))
i = dat.index(1) + 1  # 1 origin で i 個目に 1 がある
reach = k  # 今1で占有した場所
a = math.ceil((n - reach) / (k - 1))
print((1 + a))

+import math + -i = dat.index(1) + 1  # 1originでi個目に1がある -import math - -b1 = k  # 今1で占有した場所 -a1 = 1  # 1にたどり着くまでに必要な個数 -a2 = 0 -if b1 < i:  # もし、iがいまよりも手前にあるなら -    a2 += math.ceil((i - k) / (k - 1)) -b1 += a2 * (k - 1) -b1 = n if b1 > n else b1  # 1のターンでたどり着いた場所 -a3 = math.ceil((n - b1) / (k - 1)) -print((a1 + a2 + a3)) +i = dat.index(1) + 1  # 1 origin で i 個目に 1 がある +reach = k  # 今1で占有した場所 +a = math.ceil((n - reach) / (k - 1)) +print((1 + a))