D - Cadenas

Languages: C, C++, Java, Pascal, Python, Tiger, JavaScript, Haskell, C#
Time & Memory limits: (details)

A Fito le gusta crear nuevas cadenas. Un día eligió una cadena S y la concatenó con ella misma obteniendo una nueva cadena T = SS. Pero su travieso hermano menor insertó una letra en el comienzo, final o en otro lugar de la cadena T, creando así una nueva cadena U. Ahora Fito no recuerda cuál era la cadena original S. Tu tarea es ayudarlo, dada la cadena U, debes reconstruir la cadena original S.

Input

La primera línea de la entrada contiene N — la longitud de la cadena final U. La cadena U es dada en la segunda línea, esta solo consiste de letras minúsculas. (2 ≤ N ≤ 2000001).

Output

Debes imprimir la cadena original S. Sin embargo hay dos excepciones:
• Si la cadena U no puede ser creada según lo descrito, debes imprimir “IMPOSIBLE”.
• Si la cadena original S no es única, debes imprimir “AMBIGUA”.

Sample test(s)

Input
7 abxcabc
Output
abc
Input
7 abcdefg
Output
IMPOSIBLE
Input
9 ababababa
Output
AMBIGUA