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>.



t= input()

pre = []

if t[0] =='(':
    pre.append(1)
else:
    pre.append('a')

for i in t[1:]:
    if pre[-1]!='a':
        if i=='(':pre.append(pre[-1]+1)
        else:pre.append(pre[-1]-1)
    else:
        if i =='(':pre.append(1)
        else:pre.append(-1)

    if pre[-1] < 0:
        pre[-1]='a'

l = -1
maxlength  = 0
count =0

for i in range(len(pre)):

    if l ==-1 and pre[i]==1:
        l = i
    if pre[i]==0:
        curlen = i-l+1
        if curlen > maxlength:
            count =1
            maxlength = curlen
        else:
            count+=1
    if pre[i]=='a':
        l=-1
if maxlength and count:
    print(maxlength, count)
else:
    print(0,1)
        
        
        
