2、最长合法括号序列

2、最长合法括号序列

问题描述:
这是另一道处理合法括号序列的题目。
我们应该提醒你,如果一个括号序列插入“+”和“1”后,可以得到一个正确的数学表达式,那么它被称为“合法”的。
例如,序列“(())()”,“()”和“(()(()))”是合法的,但“)(”,“(()”
和“(()))(”不是。
给出一个由“(”和“)”字符组成的字符串。你要找出它最长的是合法括号序列的子串,也同样要找出最长子串的个数。

问题输入:
一行包含一个非空字符串,由“(”和“)”字符组成,长度不超过10^6。

问题输出:
输出最长合法括号序列的子串的长度,和最长子串的个数。
如果不存在这种子串,输出唯一的一行,包含“0 1”。

Sample 1

Input

)((())))(()())

Output

6 2

Sample 2

Input

))(

Output

0 1

数据规模:
对于50%的数据满足:读入的字符串长度小于等于1000;
对于100%的数据满足:读入的字符串长度小于等于1000000。

Limitation

1s, 256MiB for each test case.