EduBrick

Сравнить куски строки

4000 мс · 256 МБ · всё или ничего

Дана строка. Запросы: заменить символ в позиции pp на символ cc; проверить, совпадают ли подстроки длины kk, начинающиеся с позиций ll и rr.

Формат ввода

В первой строке nn и qq (1≤n,q≤1051 \le n, q \le 10^5). Во второй — строка из строчных латинских букв длины nn. Далее qq строк: 1 p c — заменить символ в позиции pp на cc, или 2 l r k — сравнить подстроки длины kk с позиций ll и rr (l+k−1≤nl + k - 1 \le n, r+k−1≤nr + k - 1 \le n).

Формат вывода

Для каждого запроса второго типа выведите на отдельной строке YES, если подстроки совпадают, и NO иначе.

Примеры

ввод
5 3
abcab
2 1 4 2
1 2 z
2 1 4 2
вывод
YES
NO
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.