#1040. 括号匹配

括号匹配

No submission language available for this problem.

Background

Special for beginners, ^_^

Description

"正则括号" 序列的定义如下

  • 空序列是一个正则括号序列
  • ss 是正则括号序列,则 (ss) 和 [ss] 也是正则括号序列
  • aabb 是正则括号序列,则 abab 也是正则括号序列
  • 没有其它序列是正则括号序列

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

给定括号序列 a1,a2,...ana_1, a_2, ... a_n, 求解其最长的正则括号子序列长度。

也就是说,希望找到最大的 m ,使 ai1,ai2,...aima_{i_1}, a_{i_2}, ... a_{i_m} 是一个正则括号序列,其中,1i1<i2<...<imn1 \leq i_1 < i_2 <...< i_m \leq n。例如给定初始序列 ([([]])],最长的正则阔爱后子序列是 [([])],其长度是 6 。

Format

Input

输入包含多个测试用例,每个测试用例都只包含一行由 (, ), [, ] 组成的字符串,其长度为 1~100 (包含 1~100)。输入的结尾由包含 end 的行标记,不应对其进行处理。

Output

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

Samples

((()))
()()()
([]])
)[)(
([][][)
end
6
6
4
0
6

Limitation

1s, 1024KiB for each test case.