E. Удаляем подпоследовательности
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам задана строка $$$s$$$. Вы можете построить новую строку $$$p$$$ из $$$s$$$, используя следующую операцию не более двух раз:

  1. выберем любую подпоследовательность $$$s_{i_1}, s_{i_2}, \dots, s_{i_k}$$$, где $$$1 \le i_1 < i_2 < \dots < i_k \le |s|$$$;
  2. удалим выбранную подпоследовательность из $$$s$$$ ($$$s$$$ может стать пустой);
  3. присоединим выбранную подпоследовательность справа к $$$p$$$ как строку (другими словами, $$$p = p + s_{i_1}s_{i_2}\dots s_{i_k}$$$).

Конечно, в начале строка $$$p$$$ является пустой.

Например, пусть $$$s = \text{ababcd}$$$. Сначала выберем подпоследовательность $$$s_1 s_4 s_5 = \text{abc}$$$ — в результате мы получим $$$s = \text{bad}$$$ и $$$p = \text{abc}$$$. Потом, выберем $$$s_1 s_2 = \text{ba}$$$ — мы получим $$$s = \text{d}$$$ и $$$p = \text{abcba}$$$. Таким образом, возможно построить $$$\text{abcba}$$$ из $$$\text{ababcd}$$$.

Можно ли построить заданную строку $$$t$$$, используя описанный выше алгоритм?

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

В первой строке задано единственное число $$$T$$$ ($$$1 \le T \le 100$$$) — количество наборов входных данных.

В следующих $$$2T$$$ строках заданы сами наборы — по две строки на набор. В первой строке задана строка $$$s$$$, состоящая из строчных букв латинского алфавита ($$$1 \le |s| \le 400$$$) — первоначальная строка.

Во второй строке задана строка $$$t$$$, состоящая из строчных букв латинского алфавита ($$$1 \le |t| \le |s|$$$) — строка, которую вам надо построить.

Гарантируется, что суммарная длина строк $$$s$$$ не превосходит $$$400$$$.

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

Выведите $$$T$$$ ответов — по одному на набор. Выведите YES (регистр не важен), если возможно построить $$$t$$$, и NO (регистр не важен) иначе.

Пример
Входные данные
4
ababcd
abcba
a
b
defi
fed
xyz
x
Выходные данные
YES
NO
NO
YES