n = int(input())
seats = list(map(int, input().split(' ')))
per = input()
seats_2d = []
for i in range(n):
seats_2d.append([seats[i], i+1])
seats_2d.sort(key = lambda x: -x[0] )
inv_stack = []
res = []
for p in per:
if p == '0':
_, ind = seats_2d.pop()
res.append(ind)
inv_stack.append(ind)
else:
ind = inv_stack.pop()
res.append(ind)
print(' '.join(str(i) for i in res))
1650C - Weight of the System of Nested Segments | 1097A - Gennady and a Card Game |
248A - Cupboards | 1641A - Great Sequence |
1537A - Arithmetic Array | 1370A - Maximum GCD |
149A - Business trip | 34A - Reconnaissance 2 |
59A - Word | 462B - Appleman and Card Game |
1560C - Infinity Table | 1605C - Dominant Character |
1399A - Remove Smallest | 208A - Dubstep |
1581A - CQXYM Count Permutations | 337A - Puzzles |
495A - Digital Counter | 796A - Buying A House |
67A - Partial Teacher | 116A - Tram |
1472B - Fair Division | 1281C - Cut and Paste |
141A - Amusing Joke | 112A - Petya and Strings |
677A - Vanya and Fence | 1621A - Stable Arrangement of Rooks |
472A - Design Tutorial Learn from Math | 1368A - C+= |
450A - Jzzhu and Children | 546A - Soldier and Bananas |