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>.
br = input()
br_list = []
count=0
count_list=[]
flag=0
for b in br:
    if len(br_list)==0 and flag==1 and b==')':
        count_list.append(count)
        count =0
        flag=0
    if b=='(':
        br_list.append(b)
    elif b==')' and len(br_list)>0:
        br_list.pop()
        flag=1
        count+=1
if len(br_list)==0 and flag==1:
    count_list.append(count)

if len(count_list)>0:
    mx=max(count_list)
    res=0
    for c in count_list:
        if c==mx:
            res+=1
else:
    mx=0
    res=1
print(mx*2,res)