#P10472. 括号画家

括号画家

题目描述

Candela 是一名漫画家,她有一个奇特的爱好,就是在纸上画括号。这一天,刚刚起床的 Candela 画了一排括号序列,其中包含小括号 ()、中括号 [] 和大括号 {},总长度为 NN。这排随意绘制的括号序列显得杂乱无章,于是 Candela 定义了什么样的括号序列是美观的:

  1. 空的括号序列是美观的;
  2. 若括号序列 A 是美观的,则括号序列 (A)[A]{A} 也是美观的;
  3. 若括号序列 A、B 都是美观的,则括号序列 AB 也是美观的;

例如 [(){}]() 是美观的括号序列,而 )({)[}]( 则不是。

现在 Candela 想在她绘制的括号序列中,找出其中连续的一段,满足这段子序列是美观的,并且长度尽量大。你能帮帮她吗?

输入格式

第一行一个长度为 NN 的括号序列。

输出格式

一个整数,表示最长的美观的连续子序列的长度。

({({(({()}})}{())})})[){{{([)()((()]]}])[{)]}{[}{)
4

提示

数据保证,各个测试点的 NN 的大小分别为:5,10,50,100,100,1000,1000,10000,10000,100005,10,50,100,100,1000,1000,10000,10000,10000