#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
int a[1000005] = {0};
int b[1000005] = {0};
int main() {
  int n, t, check = 0;
  cin >> n;
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i]);
  }
  cin >> t;
  for (int i = 0; i < t; i++) {
    int temp;
    scanf("%d", &temp);
    a[temp - 1] = -a[temp - 1];
  }
  if (n % 2 != 0) {
    cout << "NO";
    return 0;
  }
  stack<int> s;
  for (int i = 0; i < n; i++) {
    int j = n - 1 - i;
    if (s.empty()) {
      if (a[j] > 0) a[j] = -a[j];
      s.push(a[j]);
    } else if (a[j] == -s.top())
      s.pop();
    else {
      if (a[j] > 0) a[j] = -a[j];
      s.push(a[j]);
    }
  }
  if (!s.empty()) {
    cout << "NO";
    return 0;
  } else {
    cout << "YES"
         << "\n";
    int k = 0;
    for (; k < n - 1; k++) printf("%d ", a[k]);
    printf("%d", a[k]);
  }
}
