g(a:b:c)|a==b=g c
g x=x==[]
f=any(g.words.concat).mapM(\c->[[c],c:" "])
main = print $ map f ["a", -- False
"aa", -- True
"baab", -- False
"abaaba", -- True
"bbababbb", -- True
"babababa", -- True
"abaabaaba", -- False
"aaaaabbaaaaa", -- False
"bbbbbbbbbbbb", -- True
"baababbabaaaab", -- False
"bbbbbbbbbbbbbbb"] -- False
ZyhhOmI6Yyl8YT09Yj1nIGMKZyB4PXg9PVtdCmY9YW55KGcud29yZHMuY29uY2F0KS5tYXBNKFxjLT5bW2NdLGM6IiAiXSkKCm1haW4gPSBwcmludCAkIG1hcCBmIFsiYSIsIC0tIEZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAiYWEiLCAtLSBUcnVlCiAgICAgICAgICAgICAgICAgICAgICAiYmFhYiIsIC0tIEZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAiYWJhYWJhIiwgLS0gVHJ1ZQogICAgICAgICAgICAgICAgICAgICAgImJiYWJhYmJiIiwgLS0gVHJ1ZQogICAgICAgICAgICAgICAgICAgICAgImJhYmFiYWJhIiwgLS0gVHJ1ZQogICAgICAgICAgICAgICAgICAgICAgImFiYWFiYWFiYSIsIC0tIEZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAiYWFhYWFiYmFhYWFhIiwgLS0gRmFsc2UKICAgICAgICAgICAgICAgICAgICAgICJiYmJiYmJiYmJiYmIiLCAtLSBUcnVlCiAgICAgICAgICAgICAgICAgICAgICAiYmFhYmFiYmFiYWFhYWIiLCAtLSBGYWxzZQogICAgICAgICAgICAgICAgICAgICAgImJiYmJiYmJiYmJiYmJiYiJdIC0tIEZhbHNl
[False,True,False,True,True,True,False,False,True,False,False]