func_code_string: #include <bits/stdc++.h>   using namespace std;   typedef long double ld;   const long double PI =       3.141592653589793238462643383279502884197169399375105820974944;   long long mod = 1e9 + 7;   const long long inf = 1e18;   const long long maxn = 3e5 + 5;   void solve() {     long long n, k;     cin >> n >> k;     vector<pair<long long, pair<long long, long long>>> v(n);     for (long long i = 0; i < n; i++) {       cin >> v[i].first >> v[i].second.first;       v[i].second.second = i + 1;     }     sort((v).begin(), (v).end());     multiset<pair<long long, long long>> s;     vector<long long> ans;     for (auto i : v) {       while (!s.empty() && (*s.begin()).first < i.first) s.erase(s.begin());       while ((long long)((s).size()) > k) {         auto it = --s.end();         ans.push_back((*it).second);         s.erase(it);       }       if ((long long)((s).size()) == k) {         auto it = --s.end();         if ((*it).first >= i.second.first) {           ans.push_back((*it).second);           s.erase(it);           s.insert({i.second.first, i.second.second});         } else           ans.push_back(i.second.second);       } else         s.insert({i.second.first, i.second.second});     }     cout << (long long)((ans).size()) <<   n ;     for (auto i : ans) cout << i <<    ;   }   signed main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     long long tc = 1;     while (tc--) {       solve();       cout <<   n ;     }     return 0;   }   