Carrossel de fichas
Há fichas em um círculo, numeradas de a no sentido horário. A ficha contém a letra .
Escolha uma posição inicial e leia exatamente fichas no sentido horário, começando em . Uma pilha, inicialmente vazia, é atualizada a cada ficha lida:
- Se a pilha não está vazia e a letra no topo é igual à letra lida, retire a ficha do topo e descarte a ficha lida.
- Caso contrário, coloque a ficha lida no topo.
Uma posição inicial é válida se a pilha termina vazia. O pico dessa posição é o maior número de fichas simultaneamente na pilha durante a leitura.
Determine o menor pico entre as posições válidas e quantas posições atingem esse pico. Posições diferentes contam separadamente, mesmo quando produzem a mesma sequência de letras.
Input
A primeira linha contém um inteiro ().
A segunda linha contém uma string de comprimento , formada por letras maiúsculas de A a Z.
Output
Imprima dois inteiros: o menor pico e a quantidade de posições que o atingem. Se nenhuma posição for válida, imprima -1 0.
Samples
Sample 1
Input
4 ABBA
Output
1 2
As posições e produzem, respectivamente, BBAA e AABB, ambas com pico . As outras duas posições têm pico .
Sample 2
Input
4 ABAB
Output
-1 0
Nenhuma posição deixa a pilha vazia.
Sample 3
Input
2 AA
Output
1 2
As duas posições são contadas separadamente.