Задача C. Имена

Автор:Центральная предметно-методическая комиссия по информатике   Ограничение времени:2 сек
Входной файл:name.in   Ограничение памяти:256 Мб
Выходной файл:name.out  
Максимальный балл:100  

Условие

На далекой планете Тау Кита есть непонятные нам обычаи. Например, таукитяне очень необычно для землян выбирают имена своим детям. Родители так выбирают имя ребенку, чтобы оно могло быть получено как удалением некоторого набора букв из имени отца, так и удалением некоторого набора букв из имени матери. Например, если отца зовут "abacaba", а мать — "bbccaa", то их ребенок может носить имена "a", "bba", "bcaa", но не может носить имена "aaa", "ab" или "bbc". Возможно, что имя ребенка совпадает с именем отца и/или матери, если оно может быть получено из имени другого родителя удалением нескольких (возможно, ни одной) букв.

Пусть отец по имени X и мать по имени Y выбирают имя своему новорожденному ребенку. Так как в таукитянских школах учеников часто вызывают к доске в лексикографическом порядке имен учеников, то есть в порядке следования имен в словаре, то они хотят выбрать своему ребенку такое имя, чтобы оно лексикографически следовало как можно позже.

Формально, строка S лексикографически больше строки T, если выполняется одно из двух условий:

Требуется написать программу, которая по именам отца и матери находит лексикографически наибольшее имя для их ребенка.

Пояснения к примерам

В первом примере имя ребенка не может начинаться с буквы большей 'с', так как имя отца не содержит таких букв. Буква 'с' содержится в обоих именах, следовательно, имя ребенка может начинаться с этой буквы. Единственная буква, которая может идти следом за буквой 'с' в имени ребенка — это буква 'a'.

Система оценивания

Правильные решения для тестов, в которых имена содержат только буквы "a" и "b" и имеют длину не более 1000, будут оцениваться из 20 баллов.

Правильные решения для тестов, в которых имена содержат только буквы "a" и "b" и имеют длину не более 105, будут оцениваться из 40 баллов.

Правильные решения для тестов, в которых имена имеют длину не более 1000, будут оцениваться из 40 баллов.

Несмотря на выделение отдельных групп тестов, на окончательную проверку будут приниматься только решения, правильно работающие для всех тестов, приведенных в условии задачи.

Формат входного файла

Первая строка входного файла содержит имя отца X. Вторая строка входного файла содержит имя матери Y.

Формат выходного файла

Выходной файл должен содержать искомое лексикографически наибольшее из возможных имен ребенка. В случае, если подходящего имени для ребенка не существует, выходной файл должен быть пустым.

Ограничения

Каждое имя состоит из строчных букв латинского алфавита, включает хотя бы одну букву и имеет длину не более 105 букв.

Примеры тестов

Входной файл (name.in) Выходной файл (name.out)
1
abcabca
abcda
ca
2
ccba
accbbaa
ccba

0.059s 0.011s 13