#include <bits/stdc++.h>
using namespace std;
const long long INF = 1e17 + 9;
int vis[1000009];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long n;
  cin >> n;
  vector<int> nums(n, 0);
  for (long long i = 0; i < (n); ++i) {
    cin >> nums[i];
  }
  reverse(begin(nums), end(nums));
  long long neg;
  cin >> neg;
  for (long long i = 0; i < (neg); ++i) {
    long long a;
    cin >> a;
    vis[n - a] = 1;
  }
  stack<int> st;
  vector<int> ans;
  bool can = true;
  for (long long i = 0; i < (n); ++i) {
    if (vis[i] == 0) {
      if (!st.empty() && st.top() == nums[i]) {
        ans.push_back(-nums[i]);
        st.pop();
      } else {
        ans.push_back(nums[i]);
        st.push(nums[i]);
      }
    } else {
      ans.push_back(nums[i]);
      st.push(nums[i]);
    }
  }
  if (!st.empty()) can = false;
  if (can) {
    cout << "YES\n";
    reverse(begin(ans), end(ans));
    for (long long i = 0; i < (n); ++i) {
      cout << -ans[i] << " ";
    }
    cout << "\n";
  } else {
    cout << "NO\n";
  }
  return 0;
}
