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