#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000001;
int n, t;
int p[MAXN], s[MAXN];
stack<int> st;
int main() {
  scanf("%d\n", &n);
  for (int i = 1; i <= n; ++i) scanf("%d", &p[i]);
  scanf("%d", &t);
  for (int i = 1; i <= t; ++i) {
    int x;
    scanf("%d", &x);
    p[x] = -p[x];
  }
  for (int i = n; i >= 1; --i)
    if (p[i] < 0)
      st.push(-p[i]);
    else {
      if (!st.empty() && st.top() == p[i]) {
        st.pop();
      } else
        p[i] = -p[i], st.push(-p[i]);
    }
  if (st.empty()) {
    printf("YES\n");
    for (int i = 1; i <= n; ++i) printf("%d%s", p[i], (i < n) ? " " : "\n");
  } else
    printf("NO\n");
  fclose(stdin);
  fclose(stdout);
  return 0;
}
