#include <bits/stdc++.h>
using namespace std;
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long n;
  cin >> n;
  set<long long> pos;
  map<long long, long long> cl;
  vector<long long> ans(2 * n);
  for (long long i = 0; i < 2 * n; i++) {
    char c;
    cin >> c;
    if (c == '+') {
      pos.insert(i);
    } else {
      long long x;
      cin >> x;
      cl[x] = i;
      ans[i] = -x;
    }
  }
  for (long long i = 1; i <= n; i++) {
    long long kek = cl[i];
    auto it = pos.lower_bound(kek);
    if (it == pos.begin()) {
      cout << "NO";
      return 0;
    }
    it--;
    long long posn = *it;
    ans[posn] = i;
    pos.erase(posn);
  }
  set<long long> cur;
  for (long long i = 0; i < 2 * n; i++) {
    if (ans[i] > 0) {
      cur.insert(ans[i]);
      continue;
    }
    if (cur.size() == 0) {
      cout << "NO";
      return 0;
    }
    long long now = *cur.begin();
    cur.erase(now);
    if (now != -ans[i]) {
      cout << "NO";
      return 0;
    }
  }
  cout << "YES" << endl;
  for (auto x : ans) {
    if (x < 0) continue;
    cout << x << " ";
  }
}
