#include <bits/stdc++.h>
using namespace std;
stack<int> st;
int n, a[2000000], t, q[2000000];
int i, j, k, l;
int main() {
  scanf("%d", &n);
  for (i = 0; i < n; i++) scanf("%d", &a[i]);
  scanf("%d", &t);
  for (i = 0; i < t; i++) scanf("%d", &q[i]), a[q[i] - 1] *= -1;
  if (n & 1) {
    puts("NO");
    exit(0);
  }
  for (i = n - 1; i >= 0; i--) {
    if (a[i] < 0) {
      st.push(a[i]);
    } else {
      if (st.empty() || st.top() != a[i] * -1) {
        st.push(a[i] * -1);
        a[i] *= -1;
      } else if (!st.empty() && st.top() == a[i] * -1)
        st.pop();
    }
  }
  if (st.size() > 0)
    puts("NO");
  else {
    for (i = 0; i < n; i++) {
      if (a[i] > 0)
        st.push(a[i]);
      else {
        if (st.empty() || st.top() != a[i] * -1) {
          puts("NO");
          exit(0);
        }
        st.pop();
      }
    }
    if (st.size() > 0)
      puts("NO");
    else {
      puts("YES");
      for (i = 0; i < n; i++) printf("%d ", a[i]);
    }
  }
}
