E - Conjunto de Palabras

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

Dado dos conjuntos de palabras formados por letras “a” y “b” solamente, se quiere saber si hay alguna manera de concatenar las palabras de cada conjunto de manera que formen la misma palabra. Por ejemplo: supongamos que el conjunto A contiene las palabras aba y bb y el conjunto B contiene las palabras a y bab ”, entonces la palabra ababbaba se puede formar concatenando las palabras del conjunto A y las del conjunto B.

aba + bb + aba =  ababbaba = a + bab + bab + a

Input

La entrada contiene varios casos de prueba. La primera línea de cada caso de prueba contiene dos enteros $N_1$ y $N_2$ $(1 \leq N_1, N_2 \leq 20)$ separados por un espacio, representando la cantidad de palabras en cada conjunto. Luego hay $N_1$ líneas con las palabras del conjunto $A$ y luego $N_2$ líneas con las palabras del conjunto $B$. Cada palabra tiene a lo sumo $40$ caracteres y contiene solo letras “a” y “b”.

Output

Por cada caso de prueba se imprime “S” en caso de que se pueda formar una misma palabra usando las palabras de cada conjunto. En caso contrario se imprime “N”.

Sample test(s)

Input
2 2 aba bb a bab 3 1 b aa aaa ab 1 1 aa aaa 0 0
Output
S N S