#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  int *arr = new int[n + 1];
  for (int i = 1; i <= n; i++) {
    scanf("%d", &arr[i]);
  }
  int o, tmp;
  cin >> o;
  for (int i = 0; i < o; i++) {
    scanf("%d", &tmp);
    arr[tmp] *= (-1);
  }
  stack<int> s1;
  for (int i = n; i > 0; i--) {
    if (s1.size() == 0) {
      if (arr[i] > 0) {
        arr[i] *= (-1);
      }
      s1.push(arr[i]);
    } else if (s1.top() * (-1) != arr[i]) {
      if (arr[i] > 0) {
        arr[i] *= (-1);
      }
      s1.push(arr[i]);
    } else {
      s1.pop();
    }
  }
  if (s1.size() != 0) {
    cout << "NO" << endl;
  } else {
    cout << "YES" << endl;
    cout << arr[1];
    for (int i = 2; i <= n; i++) {
      printf(" %d", arr[i]);
    }
    cout << endl;
  }
  return 0;
}
