This is yet another problem dealing with regular bracket sequences.

We should remind you that a bracket sequence is called regular, if by inserting «+» and «1» into it we can get a correct mathematical expression. For example, sequences «(())()», «()» and «(()(()))» are regular, while «)(», «(()» and «(()))(» are not. 

You are given a string of «(» and «)» characters. You are to find its longest substring that is a regular bracket sequence. You are to find the number of such substrings as well.
The first line of the input file contains a non-empty string, consisting of «(» and «)» characters. Its length does not exceed 10<sup class="upper-index">6</sup>.
s,l,num,flag=input(),0,1,0
lef,rig=0,0
d,length=[],0
for i in s:
    if not flag:#不处于配对状态
       if i == '(':#进入配对
         lef+=1
         flag=1
    else:#当前处于配对状态
        if i=="(":
            lef+=1
        else:
            rig+=1
        if rig>lef:
            flag=0#退出配对状态
            length=lef*2
            d.append(length)
            lef,rig=0,0
if flag==1:#最后仍在配对的状态：
    length=min(lef,rig)*2
    d.append(length)
for j in d:#输出答案
    if j>l:
        l=j
        num=1
    elif j==l and j!=0:
        num+=1
print(l,num)



