#include <bits/stdc++.h>
using namespace std;
int n;
int nums[1000001];
int t;
bool neg[1000001];
int main() {
  cin >> n;
  for (int i = 1; i <= n; ++i) cin >> nums[i];
  cin >> t;
  for (int i = 0; i < t; ++i) {
    int pos;
    cin >> pos;
    neg[pos] = true;
  }
  stack<int> bracket;
  stack<int> pos;
  for (int i = n; i > 0; --i) {
    if (neg[i] || bracket.empty()) {
      bracket.push(nums[i]);
      pos.push(i);
    } else if (bracket.top() == nums[i]) {
      bracket.pop();
      neg[pos.top()] = true;
      pos.pop();
    } else {
      bracket.push(nums[i]);
      pos.push(i);
    }
  }
  if (bracket.empty()) {
    cout << "YES" << endl;
    for (int i = 1; i < n; ++i) cout << (neg[i] ? -nums[i] : nums[i]) << ' ';
    cout << (neg[n] ? -nums[n] : nums[n]) << endl;
  } else
    cout << "NO" << endl;
}
