문제 보기 - 세 명의 친구들 (BOI14_friends)

시간 제한 메모리 제한 제출 횟수 통과한 사람 수 비율
500 ms 256 MiB 1363 272 19.96%

세 명의 친구 승현이, 지학이와 석환이는 다음과 같은 놀이를 하는 것을 좋아합니다. 승현이는 문자열 $S$를 고릅니다. 그 다음 지학이는 $S$를 두 번 복사한 것(two copies of the string $S$) 문자열 $T$를 만듭니다. 마지막으로 석환이는 $T$의 맨 앞, 맨 뒤, 또는 아무 곳에나 글자 하나를 끼워넣은 문자열 $U$를 만듭니다.

해야 할 일

여러분에게 문자열 $U$가 주어집니다. 여러분이 할 일은 원래 문자열 $S$를 다시 만드는 것입니다.

입력 형식

첫 번째 줄에 최종 문자열 $U$의 길이 $N$이 주어집니다. 두 번째 줄에 문자열 $U$가 주어집니다. $U$는 알파벳 대문자 ('A', 'B', 'C', ..., 'Z')만을 포함합니다.

출력 형식

여러분의 프로그램은 원래 문자열 $S$를 출력해야 합니다. 하지만, 두 개의 예외가 있습니다:

  1. 위에서 기술한 방법대로 최종 문자열 $U$를 만들 수 없다면, 여러분은 NOT POSSIBLE을 출력해야 합니다.
  2. 원래 문자열 $S$가 유일하지 않은 경우, 여러분은 NOT UNIQUE를 출력해야 합니다.

예제

입력 출력
7
ABXCABC
ABC
6
ABCDEF
NOT POSSIBLE
9
ABABABABA
NOT UNIQUE

채점

서브태스크 1 (35점)

$2 \le N \le 2,001$

서브태스크 2 (65점)

$2 \le N \le 2,000,001$

제약 조건

시간 제한: 0.5 초

메모리 제한: 256 MB