#include <bits/stdc++.h>
int ans[1000010], p[1000010], mem[1000010], q[1000010];
int main() {
  int n, t, i, j;
  memset(q, 0, sizeof(q));
  scanf("%d", &n);
  for (i = 0; i < n; i++) scanf("%d", &p[i]);
  scanf("%d", &t);
  for (i = 0; i < t; i++) {
    scanf("%d", &j);
    q[j - 1] = 1;
  }
  int cnt = 0, num = n - 1;
  if (n % 2 == 1) {
    printf("NO\n");
    return 0;
  }
  for (i = n - 1; i >= 0; i--) {
    if (!cnt || q[i] == 1 || mem[cnt] != p[i]) {
      mem[++cnt] = p[i];
      ans[i] = -p[i];
    } else {
      ans[i] = p[i];
      cnt--;
    }
  }
  if (cnt != 0)
    printf("NO\n");
  else {
    printf("YES\n");
    for (i = 0; i < n - 1; i++) printf("%d ", ans[i]);
    printf("%d\n", ans[i]);
  }
  return 0;
}
