#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9, mod = 1e9 + 7;
const int N = 2e6 + 5;
int h[N], gr[N], p[N], i, j, k, n, m, x, t;
stack<int> S;
int main() {
  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", &x);
    h[x] = 1;
  }
  for (int i = n; i >= 1; i--)
    if (h[i] || !S.size() || p[i] != S.top()) {
      S.push(p[i]);
      p[i] *= -1;
    } else {
      S.pop();
    }
  if (S.size())
    cout << "NO" << '\n';
  else {
    cout << "YES" << '\n';
    for (int i = 1; i <= n; i++) cout << p[i] << " \n"[i == n];
  }
  return 0;
}
