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>.
inp=input()
ind=[]
lensub=0
li=[]
for i in range (len(inp)):
    if inp[i]=='(':
        inp=inp[i:]
        break
for i in range (len(inp)):
    if inp[i]=='(':
        ind.append(i)
    elif inp[i]==')' and len(ind)>0:
        ind.pop()
        lensub+=2
    elif (inp[i]==')' and len(ind)==0):
        li.append(lensub)
        lensub=0
    if (i+1==len(inp)):
        li.append(lensub)
if li:
    nb=li.count(max(li))
    print(max(li),nb)
else :
    print("0 1")