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>.
def count_sequence(sequence):
    queue = []
    max_sequence = 0
    max_index = 1



    count = 0
    index = 1
    for i, s in enumerate(sequence):
        if s == '(':
            queue.append(s)
        else:
            if queue and queue.pop() == '(':
                count += 2
            else:
                if count > max_sequence:
                    max_sequence = count
                    max_index = index

                count = 0
                index = i + 2

    return (max_sequence, max_index)


if __name__ == '__main__':
    max_sequence, max_index = count_sequence(input())

    print ('%d %d' % (max_sequence, max_index))



