'''[]
txt = open('bftest.txt', 'r')
code = [''.join([i.strip() for i in open('bftest.txt', 'r').readlines()])]
txt.close()
'''
def bracketLen(code):
	for length in range(2, len(code) + 1):
		if code[:length].count('[') is code[:length].count(']'):
			return length
	else:
		return None
		
def calcLetter(stdin, code, memory, pointer, readpoint, stdout):
	letter = code[readpoint]
	if pointer not in memory:
		memory.update({pointer:0})
	if letter is '>':
		pointer = str(int(pointer) + 1)
		readpoint += 1
	elif letter is '<':
		pointer = str(int(pointer) - 1)
		readpoint += 1
	elif letter is '+':
		memory[pointer] = (memory[pointer] + 1) % 0xff
		memory[pointer] %= 256
		readpoint += 1
	elif letter is '-':
		memory[pointer] = (memory[pointer] - 1) % 0xff
		readpoint += 1
	elif letter is '.':
		stdout += chr(memory[pointer])
		readpoint += 1
	elif letter is ',':
		memory[pointer] = stdin.pop(0)
		readpoint += 1
	elif letter is '[':
		if memory[pointer]:
			readpoint += 1
		else:
			readpoint += bracketLen(code[readpoint:])
	elif letter is ']':
		if memory[pointer]:
			readpoint += - bracketLen(code[:readpoint + 1][::-1]) + 1
		else:
			readpoint += 1
	else:
		readpoint += 1
	return [stdin, code, memory, pointer, readpoint, stdout]

stdin, code, memory, pointer, readpoint, stdout= [
	[int(i) % 0xff for i in input().split()],
	input(),
	{'0' : 0},
	'0',
	0,
	'',
]
while readpoint < len(code):
	stdin, code, memory, pointer, readpoint, stdout = calcLetter(stdin, code, memory, pointer, readpoint, stdout)
print(stdout)