#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  vector<int> type(n, 0);
  for (int i = 0; i < n; ++i) {
    cin >> type[i];
  }
  vector<bool> must_close(n, false);
  int t;
  cin >> t;
  int inv;
  for (int i = 0; i < t; ++i) {
    cin >> inv;
    must_close[inv - 1] = true;
  }
  stack<int> s;
  vector<int> ans(n, 0);
  int i = n - 1;
  while (i >= 0) {
    if (must_close[i]) {
      ans[i] = -type[i];
      s.push(type[i]);
      --i;
      continue;
    }
    if (!s.empty() && s.top() == type[i]) {
      ans[i] = type[i];
      s.pop();
      --i;
      continue;
    }
    ans[i] = -type[i];
    s.push(type[i]);
    --i;
  }
  if (!s.empty()) {
    cout << "NO\n";
  } else {
    cout << "YES\n";
    for (int i = 0; i < n; ++i) {
      cout << ans[i] << ' ';
    }
    cout << endl;
  }
  return 0;
}
