小慕正在处理一个数学表达式,比如(1+(2+3)*(3+(8+0))+1-2)。不过今天他并不打算计算这个表达式的值,而是想检查其中的括号是否匹配正确。 这个表达式可以简化成类似(()(()))这样的括号序列,小慕认为这种是匹配正确的;而像((())这样的序列,他就认为是错误的。 需要注意的是,括号内部可能包含错误的表达式,也可能有多个空格,这些都不用去管,小慕只关心括号的使用是否正确。
提示:带虚线的词点一下有通俗解释。
输入描述
给出一行表达式(长度不超过 100)。
输出描述
如果匹配正确输出括号的对数,否则输出-1。
示例
示例 1
输入
(1+(2+3)*(3+(8+0))+1-2)
输出
4
时间限制 1000 ms · 内存限制 128 MB