#include <bits/stdc++.h>
using namespace std;
const int maxm = 200005;
int flag[maxm], id[maxm];
char str[maxm];
set<int> s1;
set<int> s2;
map<int, int> p;
set<int>::iterator it;
int main() {
  int n, i, j, k, sum;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d", &k);
    s1.insert(k);
    p[k] = i;
  }
  scanf("%s", str);
  for (i = 0; str[i] != '\0'; i++) {
    if (str[i] == '0') {
      it = s1.begin();
      printf("%d ", p[*it]);
      s2.insert(*it);
      s1.erase(*it);
    } else {
      it = s2.end(), --it;
      printf("%d ", p[*it]);
      s2.erase(it);
    }
  }
  printf("\n");
  return 0;
}
