#include <bits/stdc++.h>
int ans[1000005], s[1000005], sta[1000005];
int main() {
  int n;
  while (scanf("%d", &n) != EOF) {
    for (int i = 0; i < n; i++) scanf("%d", ans + i), s[i] = 1;
    int k, x, top = 0;
    scanf("%d", &k);
    while (k--) {
      scanf("%d", &x);
      s[x - 1] = -1;
    }
    if (n & 1)
      puts("NO");
    else {
      sta[top++] = ans[n - 1];
      s[n - 1] = -1;
      for (int i = n - 2; i >= 0; i--)
        if (s[i] == -1 || sta[top - 1] != ans[i])
          sta[top++] = ans[i], s[i] = -1;
        else
          top--;
      puts(top ? "NO" : "YES");
      if (!top) {
        for (int i = 0; i < n; i++) printf("%d ", ans[i] * s[i]);
        puts("");
      }
    }
  }
  return 0;
}
