#include <bits/stdc++.h>
using namespace std;
int n, m, viz[501], a[501][2], l[501], sol[501];
int ABC(int a) { return (a) > 0 ? (a) : (-(a)); }
int main() {
  int i, j, x;
  cin >> n >> m;
  for (i = 0; i < n; i++) cin >> a[i][0] >> a[i][1];
  for (i = 0; i < m; i++) cin >> l[i];
  for (i = 0; i < n; i++)
    for (j = 0; j < m && !viz[i]; j++)
      if (i > 0 && i < n - 1) {
        if ((x = (ABC(a[i][0] - a[i - 1][0]) + ABC(a[i][1] - a[i - 1][1]) +
                  ABC(a[i][0] - a[i + 1][0]) + ABC(a[i][1] - a[i + 1][1]))) ==
            l[j]) {
          viz[i] = viz[i - 1] = viz[i + 1] = 1;
          sol[i - 1] = sol[i + 1] = -1;
          sol[i] = j + 1;
          l[j] = -1;
          break;
        }
      } else if (!i) {
        if ((x = ABC(a[i][0] - a[n - 1][0]) + ABC(a[i][1] - a[n - 1][1]) +
                 ABC(a[i][0] - a[i + 1][0]) + ABC(a[i][1] - a[i + 1][1])) ==
            l[j]) {
          viz[i] = viz[n - 1] = viz[i + 1] = 1;
          sol[n - 1] = sol[i + 1] = -1;
          sol[i] = j + 1;
          l[j] = -1;
          break;
        }
      } else if ((x = ABC(a[i][0] - a[i - 1][0]) + ABC(a[i][1] - a[i - 1][1]) +
                      ABC(a[i][0] - a[0][0]) + ABC(a[i][1] - a[0][1])) ==
                 l[j]) {
        viz[i] = viz[i - 1] = viz[0] = 1;
        sol[i - 1] = sol[0] = -1;
        sol[i] = j + 1;
        l[j] = -1;
        break;
      }
  for (i = 0; i < n; i++)
    if (!viz[i]) break;
  if (i < n)
    cout << "NO\n";
  else {
    cout << "YES\n";
    for (i = 0; i < n; i++) cout << sol[i] << " ";
  }
  return 0;
}
