#include <bits/stdc++.h>
int a[1000010], list[1000010], listcur = 0;
int n, t, p[1000010], q[1000010];
bool sure[1000010];
int main() {
  memset(sure, false, sizeof(sure));
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) scanf("%d", &p[i]);
  scanf("%d", &t);
  for (int i = 1; i <= t; ++i) {
    scanf("%d", &q[i]);
    sure[q[i]] = true;
  }
  for (int i = n; i; --i) {
    if (listcur == 0 || sure[i] || p[i] != list[listcur]) {
      a[i] = -p[i];
      list[++listcur] = p[i];
    } else {
      a[i] = p[i];
      --listcur;
    }
  }
  if (listcur == 0) {
    printf("YES\n");
    for (int i = 1; i < n; ++i) printf("%d ", a[i]);
    printf("%d\n", a[n]);
  } else
    printf("NO\n");
  return 0;
}
