program main
	implicit none
	integer N, K, i, m, n1, l1, S, l, S1, S2
	integer, allocatable :: A(:)
	read(*, *) N, K
	allocate(A(1: N))
	read(*, *) A(1: N)
	S = 0
	S1 = 0
	S2 = 0
	do i = 1, N
		if(A(i) == 1) then
			l = i
			exit
		end if
	end do
	m = 1
	do i = 1, K
		if((l-K+i) == 1) then
			m = -K+i
		end if
	end do
	n1 = -1
	do i = 1, K
		if((l+K-i) == 1) then
			n1 = K-i
		end if
	end do
	if(n1-m+1==N) then
		write(*, *) 1
	else if(m /= 1 .or. n1 /= -1) then
		do i = 1, 10000000
			N = N - K + 1
			S = S + 1
			if(N < 2) then
				write(*, *) S
				exit
			end if
		end do
	else  
	l1 = l
		do i = 1, 10000000
			l1 = l1 - K + 1
			S1 = S1 + 1
			if(N < 2) then
				exit
			end if
		end do
		l = (N-l+1)
		do i = 1, 10000000
			l = (N-l+1) - K + 1
			S2 = S2 + 1
			if(N < 2) then
				exit
			end if
		end do
		write(*, *) S1+S2
	end if
end program main