#include <bits/stdc++.h>
using namespace std;
struct abc {
  int id, v;
  bool operator<(const abc &a) const { return v < a.v; }
} c[200010];
char s[400010];
int u[200010];
int find(int x) { return u[x] == x ? x : u[x] = find(u[x]); }
int main() {
  int n, i, p;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%d", &c[i].v);
    c[i].id = i + 1;
  }
  sort(c, c + n);
  for (i = 0; i < n; i++) u[i] = i;
  scanf("%s", s);
  p = 0;
  for (i = 0; s[i]; i++) {
    if (s[i] == '0') {
      printf("%d ", c[p].id);
      p++;
    } else {
      int x = find(p - 1);
      printf("%d ", c[x].id);
      u[x] = x - 1;
    }
  }
  return 0;
}
