E - Oraciones Palíndromas

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

Fito se encuentra ahora frente a un problema muy fácil. Quiere saber dado un conjunto de palabras cuantas oraciones palíndromas se pueden formar con este conjunto. Una oración es palíndroma en caso de que eliminen todos los espacios y se lea igual de izquierda a derecha que de derecha a izquierda.

Input

En la primera línea se tiene un entero N (1<= N<= 14) que representa la cantidad de palabras que tiene el conjunto. En la segunda línea se tienen las N palabras separadas por un espacio, todas las palabras del conjunto son diferentes y cada una de estas palabras tiene a lo sumo 14 caracteres , todas minúsculas de la ‘a’ a la ‘z’ .

Output

Se debe de imprimir en una línea la cantidad de oraciones palíndromas que se puede formar con la entrada.

Sample test(s)

Input
3 a abb bba
Output
7

Hints

Con este conjunto de palabras se pueden formar los oraciones palíndromas: {“a”, “a bba”, “abb a”, “abb bba”, “bba abb”, “abb a bba”, “bba a abb”}