#include <bits/stdc++.h>
using namespace std;
const int MOD = (int)1e9 + 7;
const int MAXN = (int)2e5 + 3;
const int infint = (int)1e9;
pair<pair<long long, long long>, long long> p[MAXN];
long long n, m, lastx, lasty;
multiset<pair<long long, long long> > b;
long long ans[MAXN];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> m;
  cin >> lastx >> lasty;
  for (long long i = 0; i < n - 1; i++) {
    long long x, y;
    cin >> x >> y;
    p[i] = {{y - lastx, x - lasty}, i};
    lastx = x;
    lasty = y;
  }
  for (long long i = 0; i < m; i++) {
    long long x;
    cin >> x;
    b.insert({x, i});
  }
  sort(p, p + n - 1);
  for (long long i = 0; i < n - 1; i++) {
    pair<long long, long long> q =
        (*(b.lower_bound({p[i].first.second, -infint})));
    if (q.first <= p[i].first.first) {
      ans[p[i].second] = q.second;
      b.erase(b.find(q));
    } else
      return cout << "No", 0;
  }
  cout << "Yes\n";
  for (long long i = 0; i < n - 1; i++) cout << ans[i] + 1 << " ";
}
