#include <bits/stdc++.h>
using namespace std;
const int N(1000010);
int n, t;
int p[N], s[N], ss[N];
bool check() {
  p[0] = 1 << 30;
  p[n + 1] = -1 << 30;
  t = 0;
  for (int i = 0; i <= n + 1; ++i)
    if (p[i] > 0)
      s[t++] = i;
    else {
      int to = 0;
      for (; t && (p[s[t - 1]] != -p[i] || to); --t) {
        int x = s[t - 1];
        if (to && p[ss[to - 1]] == p[x]) {
          p[ss[to - 1]] *= -1;
          --to;
        } else
          ss[to++] = x;
      }
      if (t == 0) return false;
      --t;
    }
  return true;
}
int main() {
  cin >> n;
  for (int i = int(1); i < int(n + 1); ++i) cin >> p[i];
  cin >> t;
  for (int i = int(0); i < int(t); ++i) {
    int q;
    cin >> q;
    p[q] *= -1;
  }
  if (!check())
    cout << "NO" << endl;
  else {
    cout << "YES" << endl;
    for (int i = int(1); i < int(n + 1); ++i)
      if (i == n)
        cout << p[i] << endl;
      else
        cout << p[i] << " ";
  }
  return 0;
}
