Algunos problemas son tan clásicos que apenas merecen enunciado. En éste, os pedimos que calculéis cuál es la subpalabra de mayor longitud que tienen en común dos palabras dadas. En caso de haber varias, escribid la más pequeña en orden alfabético.
La entrada consiste en diversos casos, cada uno con dos palabras no vacías y con como mucho 500 letras minúsculas.
Para cada caso, escribid la subpalabra común más larga. En caso de empate, escribid la más pequeña en orden alfabético.
Hay algoritmos muy rápidos para resolver este problema. Aquí, nos conformamos con uno que tarde tiempo proporcional a , donde y son las longitudes de y .
Input
pseudopseudohypoparathyroidism floccinaucinihilipilification supercalifragilisticexpialidocious sipircilifrigilisticixpiilidiciiis supercalifragilisticexpialidocious zzz abczzzcdazzzaba abcxxxcdaxxxaba
Output
at gilistic aba