#1380. 正则括号括号匹配

正则括号括号匹配

问题描述

正则括号 序列定义如下.

1、空序列是一个正则括号序列。

2、若s是一个正则括号序列,则(s)和[s]也是正则括号序列。

3、若a和b是正则括号序列,则ab也是正则括号序列。

4、没有其他序列是正则括号序列

例如: ()、[]、(())、()[()]都是正则括号序列,而(、]、)(、([)]、([(] 不是正则括号序列

给定括号序列a1a2...an,求解其最长正则括号子序列的长度。也就是说,希望找到最大的m,使ai1ai2...aim 是一个正则括号序列,其中1<=i1<i2<···<im<=n。

例如给定初始序列([([]])],最长的正则括号子序列是[([])],其长度是 6。

输入

输入包含多个测试用例,每个测试用例都只包含一行由(、)、[、]组成的字符串,其长度为 1-100。

输入的结尾由包含end 的行标记,不应对其进行处理。

输出

对每个测试用例。都单行输出最长的正则括号子序列的长度。

样例

输入数据1

((()))
()()()
([]])
)[)(
([][][)
end

输出数据1

6
6
4
0
6