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