func_code_string: #include <bits/stdc++.h>   using namespace std;   vector<pair<pair<long long, long long>, int> > island;   set<pair<long long, long long> > bridge;   int ans[200100];   int main() {     int n, m;     long long l, r, prevl, prevr, a;     cin >> n >> m;     cin >> prevl >> prevr;     for (int i = 1; i < n; i++) {       cin >> l >> r;       island.push_back(pair<pair<long long, long long>, int>(           pair<long long, long long>(r - prevl, l - prevr), i - 1));       prevl = l;       prevr = r;     }     sort(island.begin(), island.end());     for (int i = 0; i < m; i++) {       cin >> a;       bridge.insert(pair<long long, long long>(a, i + 1));     }     bridge.insert(pair<long long, long long>(1e19, -1));     set<pair<long long, long long> >::iterator point;     long long lastl, lastr;     int idx;     for (vector<pair<pair<long long, long long>, int> >::iterator it =              island.begin();          it != island.end(); ++it) {       lastr = it->first.first;       lastl = it->first.second;       idx = it->second;       point = bridge.lower_bound(pair<long long, long long>(lastl, -1));       if (point->first > lastr) {         cout <<  No ;         return 0;       } else {         ans[idx] = point->second;         bridge.erase(point);       }     }     cout <<  Yes n ;     for (int i = 0; i < n - 1; i++) {       cout << ans[i] <<    ;     }     return 0;   }   