#include using namespace std; typedef long long ll; typedef long double ld; typedef pair ii; typedef vector vi; typedef vector vvi; typedef vector vii; #define x first #define y second #define pb push_back #define eb emplace_back #define all(v) (v).begin(), (v).end() const ld PI = acos((ld) -1); bool isSorted(const vi& A) { for (ll i = 0; i < A.size()-1; i++) { if (A[i+1] < A[i]) return false; } return true; } void run() { ll n, k; cin >> n >> k; vi A(n); for (ll i = 0; i < n; i++) { cin >> A[i]; } ll res = 0; while (!isSorted(A)) { res++; priority_queue Q; ll j = 0; vi An; for (ll i = 0; i < n; i++) { while (Q.size() < k && j < n) { Q.push(-A[j]); j++; } An.pb(-Q.top()); Q.pop(); } A = An; } cout << res << endl; } signed main() { ios_base::sync_with_stdio(false); cin.tie(0); run(); return 0; }