#include <bits/stdc++.h>
using namespace std;
template <class T>
void show(T a, int n) {
  for (int i = 0; i < n; ++i) cout << a[i] << ' ';
  cout << endl;
}
template <class T>
void show(T a, int r, int l) {
  for (int i = 0; i < r; ++i) show(a[i], l);
  cout << endl;
}
const int N = 128 * 2;
const int M = 5000;
const int oo = 10000 * 10000 * 10;
int n;
int a[1 << 20];
int qu[1 << 20];
bool work() {
  int i, j, k;
  int top = 0;
  for (int i = n - 1; i >= 0; --i) {
    if (a[i] < 0)
      qu[top++] = i;
    else if (top > 0 && a[i] == -a[qu[top - 1]])
      --top;
    else {
      a[i] *= -1;
      qu[top++] = i;
    }
  }
  return top == 0;
}
int main() {
  int i, j, cas = 0;
  scanf("%d", &n);
  for (i = 0; i < n; ++i) scanf("%d", &a[i]);
  int m;
  scanf("%d", &m);
  for (int i = 0; i < m; ++i) {
    int idx;
    scanf("%d", &idx);
    a[idx - 1] *= -1;
  }
  if (work()) {
    puts("YES");
    for (int i = 0; i < n; ++i) {
      if (i) printf(" ");
      printf("%d", a[i]);
    }
    printf("\n");
  } else
    puts("NO");
  return 0;
}
