#include <bits/stdc++.h>
using namespace std;
long long a[5000005], r, m, n, b[5000005];
int main() {
  ios_base::sync_with_stdio(0);
  long long k = 0, t = 0, x, sum = 0, q = 0, z = 0, y = 0, l = 0, i, j;
  cin >> n >> m;
  multiset<pair<pair<long long, long long>, long long> > p;
  k = l = -1e9;
  for (i = 0; i < n; i++) {
    cin >> x >> y;
    pair<long long, long long> p1;
    p1 = make_pair(y - j, x - k);
    if (i > 0) p.insert(make_pair(p1, i - 1));
    j = x;
    k = y;
  }
  multiset<pair<long long, long long> > v;
  for (i = 0; i < m; i++) cin >> x, v.insert(make_pair(x, i));
  multiset<pair<pair<long long, long long>, long long> >::iterator po =
      p.begin();
  for (i = 1; i < n; i++) {
    k = (*po).first.second;
    multiset<pair<long long, long long> >::iterator it;
    it = v.lower_bound(make_pair(k, 0));
    if ((*it).first > (*po).first.first) {
      cout << "No";
      return 0;
    }
    if (it == v.end()) {
      cout << "No";
      return 0;
    }
    t = (*po).second;
    a[t] = (*it).second + 1;
    v.erase(it);
    po++;
  }
  n--;
  cout << "Yes\n";
  for (i = 0; i < n; i++) cout << a[i] << " ";
  return 0;
}
