#include <bits/stdc++.h>
using namespace std;
int N, T;
int P[1000010];
int main() {
  scanf("%d", &N);
  for (register int i = 0; i < N; i++) {
    scanf("%d", &P[i]);
  }
  scanf("%d", &T);
  for (register int i = 0; i < T; i++) {
    int x;
    scanf("%d", &x);
    x--;
    P[x] = -P[x];
  }
  stack<int> s;
  for (register int i = N - 1; i >= 0; i--) {
    if (P[i] < 0)
      s.push(-P[i]);
    else {
      if (!s.empty() && s.top() == P[i])
        s.pop();
      else {
        s.push(P[i]);
        P[i] = -P[i];
      }
    }
  }
  if (s.empty()) {
    printf("YES\n");
    for (register int i = 0; i < N; i++) printf("%d ", P[i]);
    printf("\n");
  } else
    printf("NO\n");
  return 0;
}
