for row in rows:
stack = []
label = True
for char in row:
if char in open_brackets:
stack.append(char)
elif char in close_brackets:
if len(stack) < 1:
label = False
break
elif brackets_map[char] == stack[-1]:
stack.pop()
else:
label = False
break
else:
continue
if stack != []:
label = False
print(label)
rows = [
‘([<^>x[ ]{a}]{/}{t}g<^>)<{x}b>{x}<z({%}w >[b][c[c]]{ {h}}’,
‘[/]{((x)({ { }}w)w){f}{v}[%(1{u}{ })([[ ]-]h)]{c}(*)[y]}’,
‘<<(^)z>>[b]< >[[©u[v]{z<b< >>}]g]/b[(])v(v)(+)’,
‘[[b]][(v)g]([{ {<->+}e}[*]d<+>]g[[a] <+>