MOG Round #10Ended |
A Fito le han encargado que haga varias funciones para un compilador que están desarrollando en su empresa. La más complicada de las funciones que tiene que implementar es la siguiente: Se tiene una cadena S y varias cadenas Ci y se debe eliminar todas las ocurrencias de las cadenas Ci de S, para esto se sigue el siguiente algoritmo, mientras S contenga alguna de las cadenas Ci se toma el prefijo más pequeño de S que contenga una cadena Ci y se elimina la ocurrencia de Ci en S. Si dicho prefijo contiene varias cadenas Ci entonces se elimina la de menor longitud.
En la primera línea se tiene la cadena S que contiene dígitos, letras minúsculas y mayúsculas del alfabeto en inglés. La longitud de S es a lo sumo 10^5, en el resto de las líneas de la entrada se entran las cadenas Ci que contienen dígitos, letras minúsculas y mayúsculas del alfabeto inglés, la longitud de Ci es a los sumo 10^5.
En una sola línea se debe de imprimir S luego de haber removido todos las Ci, se puede asumir que siempre S al menos va a tener longitud 1.