시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
N명(1 <= N <= 26)의 사람이 테니스 시합을 한다. 일반적인 테니스 게임은 두 명이 하지만, 이 문제에서는 규칙을 바꾸어 N명이 모두 한 코트에서 함께 경기한다.
하나의 시합은 여러 세트로 이루어진다. 각 세트는 여러 게임으로 이루어지고, 각 게임은 여러 턴으로 이루어진다. 게임에서 이기려면 먼저 턴을 이겨 점수를 얻고, 그 결과 게임을 이긴 뒤, 게임 승수를 통해 세트를 이겨야 한다.
서브는 각 턴마다 순서대로 맡는다. 각 게임에서는 이전 게임에서 가장 먼저 서브한 사람의 다음 사람이 첫 서브를 한다. 각 세트의 첫 번째 게임 첫 턴에서는, 이전 세트의 첫 번째 게임에서 처음 서브한 사람의 다음 사람이 서브한다. 사람은 A부터 차례로 알파벳 대문자로 나타낸다. N = 3인 경우 서브 순서는 다음과 같다.
[1세트]
[2세트]
...
각 게임의 승자는 다음 규칙으로 정한다. 모든 선수는 각 게임을 0점에서 시작한다. 선수 x가 한 턴을 이겼을 때, 점수 변화와 게임 승자 결정 규칙을 우선순위 (1) > (2) > (3) > (4) 순서로 적용한다.
한 세트의 승자는 그 세트에서 최소 6게임을 이겼고, 다른 모든 선수보다 최소 두 게임 더 많이 이긴 선수이다. 시합의 승자는 최소 3세트를 이긴 선수이다. 단, 어떤 세트에서 한 선수가 모든 게임을 이겼다면 그 세트는 그 선수의 두 세트 승리로 계산한다.
시합에서 각 게임의 승자가 순서대로 주어진다. 최종 승자를 출력하는 프로그램을 작성하시오.
첫째 줄에 정수 N과 문자열 S가 주어진다. S는 각 게임의 승자를 순서대로 나열한 문자열이다. 게임 승자만 주어지므로, 각 세트가 어디서 끝나는지는 위 규칙에 따라 분석해야 한다. S의 길이는 100,000을 넘지 않는다. 입력은 올바르다고 가정한다.
첫째 줄에 승자를 출력한다.