Description
一个“规则”的括号序列定义如下:
1、空的序列是一个规则的括号序列
2、如果s是规则的括号序列,那么(s)和[s]都是规则的括号序列
3、如果a和b都是规则的括号序列,那么ab是规则的括号序列
4、除以上3个之外的其他括号序列都不是规则的括号序列。
例如,以下的这几个括号序列都是规则的括号序列:
(), [], (()), ()[], ()[()]
而以下的这几个括号序列都是非规则的括号序列:
(, ], )(, ([)], ([(]
现在给定一个括号序列,你的任务是找个一个长度最长的子序列使得子序列是规则的括号序列。
Input
输入包含多组测试数据,每组测试数据是一个长度不超过100的括号序列,序列中只包含(,),[,].
当输入为"end"时表示输入结束
Output
对于每组测试数据,输出最长的规则括号子序列的长度
((()))
()()()
([]])
)[)(
([][][)
end