#include <bits/stdc++.h>
using namespace std;
int n, t;
stack<int> second;
int a[1000006];
int neq[1000006];
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  cin >> t;
  for (int i = 1; i <= t; i++) {
    int q;
    cin >> q;
    neq[q] = 1;
  }
  for (int i = n; i > 0; i--) {
    if (neq[i]) {
      second.push(i);
    } else if (second.empty()) {
      second.push(i);
    } else if (a[second.top()] == a[i]) {
      a[second.top()] *= -1;
      second.pop();
    } else
      second.push(i);
  }
  if (!second.empty())
    cout << "NO" << endl;
  else {
    cout << "YES" << endl;
    for (int i = 1; i <= n; i++) cout << a[i] << " ";
  }
  return 0;
}
