proc t i {
if {{}ne$i} {
foreach r {
{^(.*){(.*?)}(.*)$}
{^(.*)\((.*?)\)(.*)$}
{^(.*)<(.*?)>(.*)$}
{^(.*)\[(.*?)\](.*)$}
} {
if {[regexp $r $i - 1 2 3]} {
return [expr {[t $1$3]&[t $2]}]
}
}
append ::m $i
} else {return 1}
list 0
}
set m {}
t [gets stdin]
puts $m
cHJvYyB0IGkgewogICAgaWYge3t9bmUkaX0gewogICAgICAgIGZvcmVhY2ggciB7CiAgICAgICAgICAgICAgICB7XiguKil7KC4qPyl9KC4qKSR9CiAgICAgICAgICAgICAgICB7XiguKilcKCguKj8pXCkoLiopJH0KICAgICAgICAgICAgICAgIHteKC4qKTwoLio/KT4oLiopJH0KICAgICAgICAgICAgICAgIHteKC4qKVxbKC4qPylcXSguKikkfQogICAgICAgIH0gewogICAgICAgICAgICBpZiB7W3JlZ2V4cCAkciAkaSAtIDEgMiAzXX0gewogICAgICAgICAgICAgICAgcmV0dXJuIFtleHByIHtbdCAkMSQzXSZbdCAkMl19XQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGFwcGVuZCA6Om0gJGkKICAgIH0gZWxzZSB7cmV0dXJuIDF9CiAgICBsaXN0IDAKfQpzZXQgbSB7fQp0IFtnZXRzIHN0ZGluXQpwdXRzICRt