#include <bits/stdc++.h>
using namespace std;
stack<int> S;
int n, a[1000010], ans[1000010], t;
int can[1000010], q;
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  scanf("%d", &t);
  for (int i = 1; i <= t; i++) {
    scanf("%d", &q);
    can[q] = 1;
  }
  if (n & 1) {
    printf("NO");
    return 0;
  }
  for (int i = n; i >= 1; i--) {
    if (S.empty() || S.top() != a[i] || can[i])
      S.push(a[i]), ans[i] = -a[i];
    else
      S.pop(), ans[i] = a[i];
  }
  if (!S.empty())
    printf("NO");
  else {
    printf("YES\n");
    for (int i = 1; i <= n; i++) printf("%d ", ans[i]);
  }
  return 0;
}
