#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]; } vvi iterations; vi A_sorted = A; sort(all(A_sorted)); iterations.pb(A); for (int i = 0; i < n; i++) { 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; iterations.pb(A); } cout << find(iterations.begin(), iterations.end(), A_sorted) - iterations.begin() << endl; } signed main() { ios_base::sync_with_stdio(false); cin.tie(0); run(); return 0; }