D. Подходящая замена
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Даны две строки s и t, состоящие из строчных латинских букв, в строке s могут также встречаться символы '?'.

Пригодность строки s подсчитывается следующим способом:

Две любые буквы можно поменять местами, такую операцию можно проделывать неограниченное число раз над любой парой позиций. Среди всех полученных строк s выберите такую, что количество непересекающихся вхождений строки t в нее максимально. Пригодность — это полученное максимальное количество.

Замените все символы '?' строчными латинскими буквами таким образом, чтобы пригодность строки s была максимальна.

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

В первой строке записана строка s (1 ≤ |s| ≤ 106).

Во второй строке записана строка t (1 ≤ |t| ≤ 106).

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

Выведите строку s с символами '?', замененными строчными латинскими буквами таким образом, чтобы пригодность этой строки была максимальна.

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

Примеры
Входные данные
?aa?
ab
Выходные данные
baab
Входные данные
??b?
za
Выходные данные
azbz
Входные данные
abcd
abacaba
Выходные данные
abcd
Примечание

В первом примере строка "baab" может быть преобразована в "abab", у которой пригодность равна 2. Значит и у строки "baab" такая же пригодность.

Во втором примере максимальная возможная пригодность равна 1, и таких строк несколько десятков, "azbz" — одна из них.

В третьем примере в строке нет символов '?', а ее пригодность равна 0.