Дана строка $$$s$$$, которая состоит только из трех первых букв латинского алфавита, то есть каждый символ строки — a, b или c.
Также даны $$$q$$$ операций, которые необходимо совершить над строкой. В каждой операции даны две буквы $$$x$$$ и $$$y$$$ из множества трех первых букв латинского алфавита, и для каждой операции нужно совершить одно из следующих двух действий:
Требуется совершить все операции в заданном порядке таким образом, чтобы строка $$$s$$$ стала лексикографически минимальной.
Напоминаем, что строка $$$a$$$ лексикографически меньше строки $$$b$$$, если и только если выполняется один из следующих пунктов:
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^{3}$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
В первой строке каждого набора входных данных находятся два целых числа $$$n$$$ и $$$q$$$ ($$$1 \le n, q \le 2 \cdot 10^{5}$$$) — длина строки $$$s$$$ и количество операций.
Во второй строке каждого набора входных данных задана $$$s$$$ — строка из ровно $$$n$$$ символов, каждый из которых — a, b или c.
Следующие $$$q$$$ строк каждого набора входных данных содержат описание операций. Каждая строка содержит два символа $$$x$$$ и $$$y$$$, каждый из которых — a, b или c.
Дополнительные ограничения на входные данные:
Для каждого набора входных данных выведите лексикографически минимальную строку, которую можно получить из $$$s$$$ данными операциями.
32 2cbc bb a10 10bbbbbbbbbbb ab cc bb ac ab cb cb aa bc a30 20abcaababcbbcabcbbcabcbabbbbabcb cb cc ab cb cb ab cb cb ab ab ab ac ab cc ab cc ac ab cc b
ab aaaaabbbbb aaaaaaaaaaaaaaabbbabcbabbbbabc
В первом наборе входных данных обе операции нужно применить к первой букве:
Во втором наборе входных данных строка могла изменяться так:
| Название |
|---|


