#include <bits/stdc++.h>
using namespace std;
int g[1001000], r[1001000];
bool mk[1001000];
int main() {
  int n, t;
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) scanf("%d", g + i);
  scanf("%d", &t);
  int v;
  for (int i = 0; i < n; ++i) mk[i] = false;
  for (int i = 0; i < t; ++i) scanf("%d", &v), mk[--v] = true;
  stack<int> p;
  for (int i = n - 1; i >= 0; i--) {
    if (p.size() && g[p.top()] == g[i] && !mk[i]) {
      r[i] = g[i];
      r[p.top()] = -g[i];
      p.pop();
    } else
      p.push(i);
  }
  if (p.size())
    printf("NO\n");
  else {
    printf("YES\n");
    for (int i = 0; i < n; ++i) {
      if (i) printf(" ");
      printf("%d", r[i]);
    }
    printf("\n");
  }
  return 0;
}
