Mail.Ru Cup 2018 Раунд 2 |
---|
Закончено |
Алиса написала программу, и теперь всячески работает над улучшением её читаемости. Один из способов улучшить читаемость — давать переменным подходящие имена, поэтому Алиса хочет переименовать часть переменных в своей программе. В её среде разработке есть команда под названием «масштабный рефакторинг», которая позволяет менять сразу имена многим переменным. Для этого нужно выбрать две строки $$$s$$$ и $$$t$$$, после чего для всех переменных выполняется следующий алгоритм: если название переменной содержит $$$s$$$ как подстроку, то первое (и только первое) вхождение $$$s$$$ заменяется на $$$t$$$, а если не содержит $$$s$$$, то оно остаётся прежним.
Дан список переменных, для каждой из которых известно её исходное название и название, на которое Алиса хочет его заменить. Известно, что у каждой переменной длины этих двух названий совпадают (это связано с тем, что выравнивание блоков может «поехать», если длины названий переменных изменятся). Требуется произвести переименование всех переменных за ровно один вызов команды масштабного рефакторинга, или сказать, что это невозможно сделать.
Первая строка содержит одно целое число $$$n$$$ ($$$1 \le n \le 3000$$$) — количество переменных в программе Алисы.
Следующие $$$n$$$ строк содержат исходные названия переменных $$$w_1, w_2, \ldots, w_n$$$ по одному в строке. Затем идут ещё $$$n$$$ строк, $$$i$$$-я из них содержит требуемое название $$$i$$$-й переменной $$$w'_i$$$. Гарантируется, что $$$1 \le |w_i| = |w'_i| \le 3000$$$.
Гарантируется, что хотя бы у одной переменной желаемое название отличается от исходного. Как исходные, так и желаемые названия состоят только из строчных букв латинского алфавита. Для каждой переменной длина её исходного названия равна длине её желаемого названия.
Если произвести переименование всех переменных за один вызов команды «масштабный рефакторинг» невозможно, выведите «NO» (без кавычек).
Иначе на первой строке выведите «YES» (без кавычек), а на следующих строках $$$s$$$ и $$$t$$$ ($$$1 \le |s|, |t| \le 5000$$$), которые необходимо использовать для замены. Строки $$$s$$$ и $$$t$$$ должны состоять только из строчных букв латинского алфавита.
Если существует несколько способов провести «масштабный рефакторинг», то можно воспользоваться любым из них.
1
topforces
codecoder
YES
topforces
codecoder
3
bab
cac
cdc
bdb
cdc
cdc
YES
a
d
2
you
shal
not
pass
NO
Название |
---|