AMR12D - The Mirror of Galadriel

With water from the stream Galadriel filled the basin to the brim, and breathed on it, and when the water was still again she spoke. 'Here is the Mirror of Galadriel,' she said. 'I have brought you here so that you may look in it, if you will. For this is what your folk would call magic, I believe; though I do not understand clearly what they mean; and they seem also to use the same word of the deceits of the Enemy. But this, if you will, is the magic of Galadriel. Did you not say that you wished to see Elf-magic?' - Galadriel to Frodo and Sam, describing her Mirror.

We call a string S magical if every substring of S appears in Galadriel's Mirror (under lateral inversion). In other words, a magical string is a string where every substring has its reverse in the string.

Given a string S, determine if it is magical or not.


The first line contains T, the number of test cases. The next T lines contain a string each. 


For each test case, output "YES" if the string is magical, and "NO" otherwise.


1 <= T <= 100
1 <= |S| <= 10
S contains only lower-case characters.


Sample Input:

Sample Output:

Notes / Explanation of Sample Input

For the first test case, the list of substrings are : a, b, ab, ba, aba. The reverse of each of these strings is present as a substring of S too.

For the second test case, the list of substring are : a, b, ab. The reverse of "ab", which is "ba" is not present as a substring of the string.

hide comments
Rajat Shah: 2013-02-24 14:08:14

really the easiest one :)

Ankit Chaudhary: 2013-01-30 20:29:37

very easy problem

suyog patil: 2013-01-26 15:37:17


(Tjandra Satria Gunawan)(曾毅昆): 2013-01-10 15:39:41

after this you may try The BrainFast Processing! Classical version or The BrainFast Processing! Challenge version

abdelkarim: 2013-01-08 18:02:33

easy one !!

Vipul Pandey: 2013-01-07 16:13:00

just use inbuilt c++ string functions

Govind Lahoti: 2013-01-04 18:17:00

really very easy

:D: 2013-01-03 08:10:37

So easy that shud be moved to tutorial..
Just be careful abt S=1.

Saraj Munjal: 2012-12-30 13:41:53

Tutorial please!

cenation: 2012-12-28 06:14:55

free points

Added by:Varun Jalan
Time limit:2s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:Varun Jalan - ICPC Asia regionals, Amritapuri 2012