당신은 친구 한 명과 같이 개의 알사탕을 먹고 있다. 알사탕은 모두 N개가 있는데, 각각의 알사탕의 중간에는 구멍이 뚫려 있고, 이 구멍을 하나의 줄이 지나고 있어서 모든 알사탕은 하나로 이어져 있다. 줄을 끊지 않고는 중간에 있는 알사탕을 먼저 먹을 수 없기 때문에, 먹을 수 있는 알사탕은 줄의 양쪽 끝에 놓인 두 개이다. 당신이 먼저 하나를 먹으면 당신의 친구가 다시 하나를 먹는 식으로 알사탕을 먹는다. 따라서, 이 짝수라면 당신과 당신 친구 모두 개의 알사탕을 먹고, 이 홀수라면 당신은 개, 당신의 친구는 개의 알사탕을 먹는다. 알사탕은 총 가지가 있고, a부터 z까지의 문자로 각 종류에 해당하는 알사탕을 표현할 수 있다.
다음 그림과 같이 알사탕이 놓여진 경우를 생각해보자. 이다.
맨 처음 당신은 번 또는 번 위치의 알사탕 중 하나를 먹을 수 있다.
만약 번 위치의 a를 먹었다면, 친구는 번 또는 번 위치의 알사탕 중 하나를 먹을 수 있다. 만약 번 위치의 b를 먹었다면 당신은 이제 번 또는 번 중 하나를 먹을 수 있고, 번의 d를 먹었다고 하자. 친구는 이제 번 또는 번 중 하나를 먹을 수 있고, 번 a를 먹었다고 하자. 당신은 이제 번 또는 번 중 하나를 먹을 수 있고, 번 b를 먹었다고 하자. 친구는 이제 번 c를 먹을 수밖에 없다. 그렇다면 당신이 먹은 사탕을 순서대로 나타낸 문자열은 adb이며, 친구가 먹은 사탕을 순서대로 나타낸 문자열은 bac이다. 당연하지만, 당신이 cba의 순서로 사탕을 먹을 수는 없다. 왜냐하면 맨 처음에 먹을 수 있는 사탕은 a 아니면 d이기 때문이다.
알사탕의 수, 알사탕의 순서가 주어졌을 때, 당신이 규칙을 지키면서 먹을 수 있는 알사탕의 순서를 나타낸 문자열 중 가능한 것 아무거나 하나를 출력하는 프로그램을 작성하시오.
첫째 줄에 알사탕의 수를 나타내는 자연수 ( 이상 이하)가 주어진다. 다음줄에는 영어 소문자로 된 길이 N인 문자열이 주어지는데, 이 문자열은 왼쪽부터 오른쪽으로 알사탕이 꿰인 줄을 읽었을 때 각 위치에 놓인 알사탕을 나타내는 문자열이다.
첫 줄에 결과를 출력한다. 여기에는 주어진 알사탕들로부터 여러분이 친구와 돌아가면서 하나씩 알사탕을 먹었을 때, 가능한 알사탕의 순서를 나타내는 문자열을 출력한다. 이 문자열의 길이는 이 짝수라면 , 이 홀수라면 이다.
6 abcbad
adb
입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞추어야 그 종류에 배정된 점수를 받을 수 있다.
종류 1: 32점
모든 알사탕은 같은 종류이다.
종류 2: 48점
문제의 원래 제한조건 이외의 추가된 제한이 없음.