У вас есть три строки $$$s$$$, $$$t$$$ и $$$p$$$, состоящие из строчных букв латинского алфавита. Вы можете выполнять любое количество (возможно, нулевое) операций над этими строками.
Каждая операция выглядит следующим образом: вы выбираете любой символ из строки $$$p$$$, удаляете его из $$$p$$$ и вставляете в любую позицию строки $$$s$$$ (вы можете вставить этот символ куда захотите: в начало $$$s$$$, в конец или между любыми двумя подряд идущими символами).
Например, если $$$p$$$ — это aba, и $$$s$$$ — это de, тогда возможны следующие варианты (символ, удаленный из $$$p$$$ и вставленный в $$$s$$$, выделен жирным шрифтом):
Вам нужно выполнить несколько (возможно, ноль) операций так, чтобы строка $$$s$$$ стала равна строке $$$t$$$. Определите, возможно ли это.
Обратите внимание, что вам нужно ответить на $$$q$$$ независимых запросов.
Первая строка содержит целое число $$$q$$$ ($$$1 \le q \le 100$$$) — количество запросов. Каждый запрос содержит три строки.
Первая строка каждого запроса содержит строку $$$s$$$ ($$$1 \le |s| \le 100$$$), состоящую из строчных букв латинского алфавита.
Вторая строка каждого запроса содержит строку $$$t$$$ ($$$1 \le |t| \le 100$$$), состоящую из строчных букв латинского алфавита
Третья строка каждого запроса содержит строку $$$p$$$ ($$$1 \le |p| \le 100$$$), состоящую из строчных букв латинского алфавита.
Для каждого запросы выведите YES, если возможно превратить строку $$$s$$$ в строку $$$t$$$, и NO в противном случае.
Ответ можете выводить в любом регистре (например, строки yEs, yes, Yes и YES будут распознаны как положительный ответ на запрос).
4 ab acxb cax a aaaa aaabbcc a aaaa aabbcc ab baaa aaaaa
YES YES NO NO
В первом запросе возможна следующая последовательность операций:
Во втрором запросе возможна следующая последовательность операций:
Название |
---|