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

Задача . A. Три строки


Вам даны три строки \(a\), \(b\) и \(c\) одинаковой длины \(n\). Строки состоят только из строчных символов латинского алфавита. Тогда \(i\)-й символ строки \(a\) это \(a_i\), \(i\)-й символ строки \(b\) это \(b_i\), \(i\)-й символ строки \(c\) это \(c_i\).

Для всех \(i\) (\(1 \leq i \leq n\)) вы должны поменять символ \(c_i\) либо с \(a_i\), либо с \(b_i\) (это значит поменять его значение в строке со значением другого символа в другой строке). То есть суммарно вы должны выполнить ровно \(n\) замен, каждая из которых это либо \(c_i \leftrightarrow a_i\), либо \(c_i \leftrightarrow b_i\) (для всех целых \(i\) от \(1\) до \(n\), включительно).

Например, если \(a\) это «code», \(b\) это «true» и \(c\) это «help», вы можете сделать строку \(c\) равной «crue», меняя \(1\)-й и \(4\)-й символы с соответствующими символами в строке \(a\) и остальные с соответствующими символами в строке \(b\). В этом случае строка \(a\) станет равной «hodp» и строка \(b\) станет равной «tele».

Возможно ли так сделать замены, что строка \(a\) станет равна строке \(b\)?

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

Входные данные состоят из нескольких тестовых случаев. Первая строка содержит единственное целое число \(t\) (\(1 \leq t \leq 100\))  — количество тестовых случаев. Далее следует описание тестовых случаев в следующем формате.

Первая строка описания каждого тестового случая содержит строку \(a\), состоящую из строчных символов латинского алфавита.

Вторая строка описания каждого тестового случая содержит строку \(b\), состоящую из строчных символов латинского алфавита.

Третяя строка описания каждого тестового случая содержит строку \(c\), состоящую из строчных символов латинского алфавита.

Гарантируется, что в каждом тестовом случае все три строки непустые и имеют одинаковую длину, не превосходящую \(100\).

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

Выведите \(t\) строк с ответами на тестовые случаи. Для каждого тестового случая:

Если возможно сделать строку \(a\) равной строке \(b\) выведите «YES» (без кавычек), иначе выведите «NO» (без кавычек).

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

Примечание

В первом тестовом случае, невозможно так сделать замены, чтобы строка \(a\) стала равной строке \(b\).

Во втором тестовом случае, вы можете поменять \(c_i\) с \(a_i\) для всех \(i\). После таких замен \(a\) станет равной «bca», \(b\) станет равной «bca» и \(c\) станет равной «abc». Легко видеть, что строки \(a\) и \(b\) станут равными.

В третьем тестовом случае, вы можете поменять \(c_1\) с \(a_1\), \(c_2\) с \(b_2\), \(c_3\) с \(b_3\) и \(c_4\) с \(a_4\). Тогда строка \(a\) станет равной «baba», строка \(b\) станет равной «baba» и строка \(c\) станет равной «abab». Легко видеть, что строки \(a\) и \(b\) станут равными.

В четвертом тестовом случае, невозможно так сделать замены, чтобы строка \(a\) стала равной строке \(b\).


Примеры
Входные данныеВыходные данные
1 4
aaa
bbb
ccc
abc
bca
bca
aabb
bbaa
baba
imi
mii
iim
NO
YES
YES
NO

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

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