Link to this code: https://cses.fi/paste/be6cbbe5128ab941d800e4/
/* 777 */
#include <bits/stdc++.h>
using namespace std;

void solve() {
    int N, k;
    cin >> N >> k;
    vector<pair<int, int>> events(N);
    for (auto &[end, start] : events) cin >> start >> end;
    sort(events.begin(), events.end());
    multiset<int> endTimes;
    int cnt = 0;
    for (auto &[end, start] : events) {
        auto it = endTimes.upper_bound(start);
        if (it == endTimes.begin() && (int) endTimes.size() == k) {
            continue;
        }
        cnt++;
        if (it != endTimes.begin()) {
            endTimes.erase(--it);
        }
        endTimes.insert(end);
    }
    cout << cnt;
}

int32_t main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int T = 1;
    // cin >> T;
    while (T--) solve();
}