Олимпиадный тренинг

Задача . G. Фан-клуб Zimpha


Однажды Zimpha придумал задачу. Как член фан-клуба Zimpha, вы решили её решить.

Вам даны две строки \(s\) и \(t\) длины \(n\) и \(m\) соответственно. Обе строки состоят только из строчных латинских букв, а также символов - и *.

Вам нужно заменить все вхождения - и *, соблюдая следующие правила:

  • Для каждого символа - вы должны заменить его на любую строчную латинскую букву.
  • Для каждого символа * вы должны заменить его любой строкой (возможно, пустой), состоящей только из строчных латинских букв.

Обратите внимание, что вы можете заменить два разных символа - разными символами. Вы также можете заменить два разных символа * разными строками.

Предположим, что \(s\) и \(t\) были преобразованы в \(s'\) и \(t'\). Теперь вы задаетесь вопросом, существуют ли замены, в результате которых получается \(s'=t'\).

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

Первая строка содержит два целых числа \(n\) и \(m\) (\(1 \leq n, m \leq 2 \cdot 10^6\)) — длины строк \(s\) и \(t\), соответственно.

Вторая строка содержит строку \(s\) длины \(n\). Гарантируется, что \(s\) состоит только из строчных латинских букв, - и *.

Третья строка содержит строку \(t\) длины \(m\). Гарантируется, что \(t\) состоит только из строчных латинских букв, - и *.

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

Для каждого набора входных данных выведите «Yes», если существует замена, в результате которой получается \(s'=t'\), и «No» в противном случае.

Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.

Примечание

Во втором наборе входных данных мы можем преобразовать обе строки в ttklwxx. В \(s\) - будет заменено на l. В \(t\) * будет заменена пустой строкой, а первая и вторая - будут заменены на k и w соответственно.

В пятом наборе входных данных мы можем преобразовать обе строки в bulijiojioxdibuliduo.


Примеры
Входные данныеВыходные данные
1 10 10
justmonika
j-stsayori
No
2 7 8
ttk-wxx
*tt-l-xx
Yes
3 13 11
asoulwangziji
-soulg*z-y-
No
4 7 3
abc*cba
a*c
No
5 20 18
bulijiojio-dibuliduo
*li*ji-*ox*i*-du*-
Yes

time 12000 ms
memory 512 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя