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

Задача . C. Любимая задача awoo


Заданы две строки \(s\) и \(t\), обе длины \(n\). Каждый символ в обеих строках — 'a', 'b' или 'c'.

За один ход разрешается совершить одно из следующих действий:

  • выбрать вхождение «ab» в \(s\) и заменить его на «ba»;
  • выбрать вхождение «bc» в \(s\) и заменить его на «cb».

Разрешается совершить произвольное количество ходов (включая ноль). Можно ли сделать строку \(s\) равной строке \(t\)?

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

В первой строке записано одно целое число \(q\) (\(1 \le q \le 10^4\)) — количество наборов входных данных.

В первой строке каждого набора входных данных записано одно целое число \(n\) (\(1 \le n \le 10^5\)) — длина строк \(s\) и \(t\).

Во второй строке записана строка \(s\) длины \(n\). Каждый символ — 'a', 'b' или 'c'.

В третьей строке записана строка \(t\) длины \(n\). Каждый символ — 'a', 'b' или 'c'.

Сумма \(n\) по всем наборам входных данных не превосходит \(10^5\).

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

На каждый набор входных данных выведите «YES», если возможно сделать строку \(s\) равной строке \(t\), совершив произвольное количество ходов (возможно, ноль). В противном случае выведите «NO».


Примеры
Входные данныеВыходные данные
1 5
3
cab
cab
1
a
b
6
abbabc
bbaacb
10
bcaabababc
cbbababaac
2
ba
ab
YES
NO
YES
YES
NO

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

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