#hASHybttg020105. 1459:friends

1459:friends

好的,这是整理好的题面,格式清晰。


题目描述

有三个好朋友 A、B、C 喜欢玩游戏:

  1. A 写下字符串 ( S )。
  2. B 将 ( S ) 复制一遍,得到 ( T = S + S )(即 ( T ) 长度为 ( 2|S| ))。
  3. C 在 ( T ) 的任意位置(包括首尾)插入一个字符,得到 ( U )。

现在你得到了 ( U ),请你找出 ( S )。

你需要判断:

  • 如果 ( S ) 不存在,输出 NOT POSSIBLE
  • 如果 ( S ) 不唯一(有多个可能的 ( S ) 满足条件),输出 NOT UNIQUE
  • 如果 ( S ) 唯一,输出 ( S )。

输入格式

第一行一个整数 ( N ),表示 ( U ) 的长度。
第二行一个字符串 ( U ),保证 ( U ) 仅由大写字母组成。

输出格式

输出一行:

  • 若 ( S ) 不存在,输出 NOT POSSIBLE
  • 若 ( S ) 不唯一,输出 NOT UNIQUE
  • 否则输出 ( S )。

数据范围

  • ( 2 \le N \le 2000001 )

输入样例 1

7
ABXCABC

输出样例 1

ABC

输入样例 2

6
ABCDEF

输出样例 2

NOT POSSIBLE

输入样例 3

9
ABABABABA

输出样例 3

NOT UNIQUE

样例解释

样例 1

( N = 7 ),( U = \text{"ABXCABC"} )
原来 ( T = S + S ),C 在其中插入一个字符得到 ( U )。
尝试复原:去掉第 3 个字符 'X',得到 "ABABCABC",这可以分成两个相同的 "ABC"。
所以 ( S = \text{"ABC"} ),唯一。
输出 ABC

样例 2

( N = 6 ),( U = \text{"ABCDEF"} )
偶数长度 ( N=6 ) 时,原 ( T ) 长度应为偶数,但去掉一个字符后 ( U ) 长度为 6,说明原 ( T ) 长度是 5 或 7?实际上 ( N ) 应为奇数才会存在 ( S )(因为 ( T = 2m ),插入一个字符后 ( U ) 长 ( 2m+1 ),所以 ( N ) 必须是奇数)。
此处 ( N=6 ) 偶数,不可能由上述过程得到,所以 NOT POSSIBLE

样例 3

( N = 9 ),( U = \text{"ABABABABA"} )
存在多个可能的 ( S ) 满足条件,如:

  • 去掉第 1 个字符 'A' 得到 "BABABABA" → 可分成 "BABA" 重复两次?不,应是 "BABA"+"BABA" 长度为 8,去掉一个字符得到 9 长度的 U 需检查。
    实际上多个 ( S ) 都能生成类似的 ( U ),故不唯一。
    输出 NOT UNIQUE。 、输入输出格式、数据范围、样例及解释。