조니는 이제 겨우 세 살인 어린 남자아이로, 장난감 자동차를 가지고 노는 것을 무척 좋아한다. 조니는 서로 다른 자동차 n대를 가지고 있는데, 모두 조니가 혼자서는 닿을 수 없을 만큼 높은 선반 위에 놓여 있다. 방이 좁아서, 어느 순간에도 바닥에 놓인 자동차는 k대를 넘을 수 없다.
조니는 바닥에 있는 자동차 중 하나를 가지고 논다. 어머니는 항상 방에서 조니와 함께 있다. 조니가 이미 바닥에 있는 다른 자동차를 가지고 놀고 싶어 하면 스스로 집어 든다. 하지만 원하는 자동차가 선반 위에 있으면, 어머니가 그것을 내려서 건네주어야 한다. 어머니는 자동차를 건네줄 때마다 동시에 바닥에 있는 자동차 하나를 골라 다시 선반에 올려놓을 수 있어서, 바닥에는 언제나 충분한 공간이 남는다.
어머니는 조니를 아주 잘 알기 때문에, 조니가 어떤 자동차를 어떤 순서로 가지고 놀고 싶어 할지 완벽하게 예측할 수 있다. 이 정보를 이용해, 어머니는 선반에서 자동차를 내려 건네주는 횟수를 최소화하려고 한다. 그러려면 매번 어떤 자동차를 다시 선반에 올려놓을지 신중하게 정해야 한다.
조니가 순서대로 가지고 놀고 싶어 하는 자동차의 수열을 읽어, 어머니가 선반에서 자동차를 내려야 하는 최소 횟수를 구하는 프로그램을 작성하라.
첫째 줄에 세 정수 n, k, p (1≤k≤n≤100,000, 1≤p≤500,000)가 공백 하나로 구분되어 주어진다. 각각 자동차의 총 개수, 한 번에 바닥에 놓일 수 있는 자동차의 최대 개수, 그리고 조니가 가지고 놀고 싶어 하는 자동차 수열의 길이를 뜻한다. 이어지는 p개의 줄에는 각각 정수 하나가 주어지며, 이는 조니가 가지고 놀고 싶어 하는 자동차의 번호이다 (자동차는 1부터 n까지 번호가 매겨져 있다).
어머니가 선반에서 자동차를 내려야 하는 최소 횟수를 정수 하나로 출력한다.