P10472 括号画家

题目描述

Candela 是一名漫画家,她有一个奇特的爱好,就是在纸上画括号。这一天,刚刚起床的 Candela 画了一排括号序列,其中包含小括号 `()`、中括号 `[]` 和大括号 `{}`,总长度为 $N$。这排随意绘制的括号序列显得杂乱无章,于是 Candela 定义了什么样的括号序列是美观的: 1. 空的括号序列是美观的; 2. 若括号序列 A 是美观的,则括号序列 `(A)`、`[A]`、`{A}` 也是美观的; 3. 若括号序列 A、B 都是美观的,则括号序列 `AB` 也是美观的; 例如 `[(){}]()` 是美观的括号序列,而 `)({)[}](` 则不是。 现在 Candela 想在她绘制的括号序列中,找出其中连续的一段,满足这段子序列是美观的,并且长度尽量大。你能帮帮她吗?

输入格式

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

输出格式

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

说明/提示

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