У Софии есть строка \(s\) длины \(n\), состоящая из строчных латинских букв. Она может выполнять следующие операции с этой строкой.
- Выбрать позицию \(1 \le i \le |s|\) и удалить \(s_i\) из строки.
- Выбрать пару позиций \((l, r)\) (\(1 \le l \le r \le |s|\)) и отсортировать подстроку \(s_{l} s_{l+1} \ldots s_r\) в алфавитном порядке.
Здесь
\(|s|\) обозначает текущую длину строки
\(s\). В частности,
\(|s| = n\) перед первой операцией. Например, если
\(s = \mathtt{sofia}\), то, применив операцию первого типа с
\(i=4\), мы сделаем строку
\(s\) равной
\(\mathtt{sofa}\). Применив после этого операцию второго типа с
\((l, r) = (2, 4)\), получим строку
\(s\), равную
\(\mathtt{safo}\).
София хочет получить строку \(t\) длины \(m\) из строки \(s\), используя операции, описанные выше, несколько раз (возможно, ноль). Определите, возможно ли это.
Выходные данные
Для каждого набора входных данных выведите «YES», если София может получить строку \(t\) из строки \(s\), используя операции из условия. Иначе, выведите «NO».
Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.
Примечание
В первом наборе входных данных София может сделать следующую операцию:
- операция второго типа с \(l=1\) и \(r=5\): строка \(s\) станет равной \(\mathtt{afios}\) после операции.
Во втором наборе входных данных София может сделать следующие операции:
- операция второго типа с \(l=1\) и \(r=2\): строка \(s\) станет равной \(\mathtt{bca}\) после операции;
- операция первого типа с \(i=3\): строка \(s\) станет равной \(\mathtt{bc}\) после операции.
В третьем наборе входных данных можно показать, что невозможно получить строку \(t\) из строки \(s\) используя операции из условия.
| № | Входные данные | Выходные данные |
|
1
|
8
5 5
sofia
afios
3 2
cba
bc
5 1
sofia
e
15 7
anavolimilovana
aamanan
26 4
abcdefghijklmnopqrstuvwxyz
nope
26 4
zyxwvutsrqponmlkjihgfedcba
nope
7 3
apricot
cat
3 3
cba
acb
|
YES
YES
NO
YES
NO
YES
NO
YES
|