1번부터 N번까지 번호가 부여된 N명의 사람이 일렬로 서 있다. \(i\) \((1 \le i \le N)\)번 사람은 왼쪽에서 \(i\)번째에 서 있으며, 하나의 카드 \(A_i\)를 가지고 있다. 각 카드는 가위(S), 바위(R), 보(P) 중 하나이다. 서로 다른 두 사람 사이에 다른 사람이 없다면, 그 두 사람은 서로 인접하다고 하자. 여러분은 인접한 두 사람을 골라 대결시킬 수 있다. 한 번의 대결은 다음과 같이 진행된다.
여러분은 정확히 \(N-1\)번의 대결을 진행하여 단 한 명의 우승자만 남기려 한다. 각 사람에 대해, 그 사람이 우승자가 될 수 있도록 대결하는 방법이 존재하는지 판별하는 프로그램을 작성하라. 제약 조건
부분문제
|
첫 줄에 정수 \(N\)이 주어진다. 그다음 줄에 길이 \(N\)의 문자열 \(A\)가 주어진다. \(A\)의 \(i\)번째 문자 \(A_i\)는 \(i\)번 사람이 가진 카드를 나타내며, 영어 알파벳 대문자 S, R, P 중 하나이다 \((1 \le i \le N)\).
첫 줄에 길이 \(N\)의 문자열을 출력한다. 이 중 \(i\)번째 문자는, \(i\)번 사람이 우승자가 될 수 있다면 1, 아니면 0이어야 한다 \((1 \le i \le N)\).
2번 사람과 3번 사람이 먼저 대결하면, 두 사람의 카드가 같으므로 승자를 임의로 정할 수 있다. 2번 사람을 승자로 정한 뒤 1번 사람과 대결하면, 2번 사람의 보(P)가 1번 사람의 바위(R)를 이긴다. 따라서 2번 사람이 우승자가 될 수 있다.
마찬가지로, 2번 사람과 3번 사람이 먼저 대결한 뒤 3번 사람을 승자로 정하고 1번 사람과 대결하면, 3번 사람의 보(P)가 1번 사람의 바위(R)를 이긴다. 따라서 3번 사람도 우승자가 될 수 있다.
1번 사람은 어떤 순서로 대결해도 우승자가 될 수 없다.
2번 사람과 3번 사람이 먼저 대결하면, 3번 사람의 가위(S)가 2번 사람의 보(P)를 이긴다. 이후 1번 사람과 3번 사람이 대결하면, 1번 사람의 바위(R)가 3번 사람의 가위(S)를 이긴다. 따라서 1번 사람이 우승자가 될 수 있다.
1번 사람과 2번 사람이 먼저 대결하면, 2번 사람의 보(P)가 1번 사람의 바위(R)를 이긴다. 이후 2번 사람과 3번 사람이 대결하면, 3번 사람의 가위(S)가 2번 사람의 보(P)를 이긴다. 따라서 3번 사람이 우승자가 될 수 있다.
2번 사람은 어떤 순서로 대결해도 우승자가 될 수 없다.