Problem2094--重复字符串

2094: 重复字符串

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 30  Solved: 13
[Status] [Submit] [Creator:]

Description

我们称一个字符串 s 重复 n 次的结果为 n 个字符串 s 拼接到一起的结果。比如:
· 字符串 "abc" 重复 3 次的结果为 "abcabcabc"
· 字符串 "q" 重复 8 次的结果为 "qqqqqqqq"
· 字符串 "bhtn" 重复 5 次的结果为 "bhtnbhtnbhtnbhtnbhtn"
· 字符串 "hello" 重复一次的结果为 "hello"(一个字符串重复 1 次的结果就是它自己)

现在给你一个字符串 s,请你判断 s 是否由另一个字符串 s' 重复至少 2 次得到?如果存在多种情况,你只需要输出长度最短的那个 s' 即可。

Input

输入共一行,包含一个字符串 s。s 的长度不超过 1000 且仅由小写英文字母组成。

Output

如果不存在重复至少两次得到字符串 s 的字符串 s',输出 “NO”。  

否则,输出一行字符串,表示所有能重复至少 2 次得到字符串 s 的字符串中最短的那个字符串。

Sample Input Copy

【样例输入1】
abbabbabb
【样例输出1】
abb
【样例输入2】
abcabcabcabc
【样例输出2】
abc

HINT

【样例解释】
样例1:字符串 "abbabbabb" 可由字符串 "abb" 重复 3 次得到。
样例2:字符串 "abcabcabcabc" 可由字符串 "abc" 重复 4 次得到,也可由字符串 "abcabc" 重复 2 次得到,但是 "abc" 长度更短,所以输出了 "abc"。

【数据规模与约定】
设 |s| 表示字符串 s 的长度,则:
· 对于 30% 的数据,1 ≤ |s| ≤ 10
· 对于 60% 的数据,1 ≤ |s| ≤ 100
· 对于 100% 的数据,1 ≤ |s| ≤ 1000
且 s 仅由小写英文字母组成。

Source/Category