Задача №114124. Расписание смены

В известной на всю страну Весенней компьютерной школе скоро начнется новая смена, и в связи с этим весь дружный состав преподавателей и кураторов начал составлять ее расписание. В процессе обсуждения они пришли к расписанию \(s\), которое может быть представлено в виде бинарной строки, в которой на \(i\)-й позиции стоит « 1 », если ученики в \(i\)-й день пишут контест, и « 0 », если отдыхают.

Расписание уже почти утвердили, но в этот момент на заседание пришел главный методист Глеб и заявил, что за весь свой большой преподавательский опыт он заметил одну особенность — если смена в школе проходит по расписанию \(t\) (которое может быть описано в таком же формате, что и \(s\)), то ученики особенно хорошо усваивают материал. Поскольку количество дней в грядущей смене может отличаться от количества дней в \(t\), Глеб потребовал, чтобы уже составленное расписание переделали таким образом, чтобы количество вхождений \(t\) в него как подстроки было максимально — он считает, что таким образом эффективность обучения в школе будет наибольшей. При этом количество учебных и выходных дней не должно измениться, может измениться только порядок их следования.

Поскольку у преподавателей, кураторов и методистов и так много дел (первым нужно составить контесты, вторым придумать развлекательную программу, а последние заняты думами о методике), они поручили это дело вам. Сможете ли вы переделать расписание оптимальным образом?

Входные данные

Первая строка содержит строку \(s\) (\(1 \leq |s| \leq 500\,000\)), задающую текущий проект расписания смены.

Вторая строка содержит строку \(t\) (\(1 \leq |t| \leq 500\,000\)), задающую оптимальное расписание согласно Глебу.

Строки \(s\) и \(t\) состоят только из символов « 0 » и « 1 ».

Выходные данные

В единственной строке выведите расписание, количество вхождений \(t\) как подстроки в которое максимально. Выведенное расписание должно состоять только из « 0 » и « 1 », причём количество нулей должно совпадать с количеством нулей в \(s\), а количество единиц — с количеством единиц в \(s\).

Если существует несколько оптимальных расписаний, выведите любое из них.

Примечание

В первом примере два вхождения, начинающихся с первой и четвертой позиции.

Во втором примере всего одно вхождение, и оно начинается с третьей позиции. Заметим также, что ответ не единственен — например, самый первый день (являющийся выходным) можно переместить на последнюю позицию, и кол-во вхождений \(t\) не изменится.

В третьем примере добиться даже одного вхождения не получится.

Система оценки

Тесты к этой задаче состоят из четырёх групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов предыдущих групп. Offline-проверка означает, что результаты тестирования вашего решения на данной группе станут доступны только после окончания соревнования.

Примеры
Входные данные
101101
110
Выходные данные
110110
Входные данные
10010110
100011
Выходные данные
10001101
Входные данные
10
11100
Выходные данные
01
Сдать: для сдачи задач необходимо войти в систему