Дано слово и запросы двух типов:
- заменить i-ю букву в слове на букву a;
- проверить, является ли подслово sj...sk палиндромом.
Исходные данные
В первой строке записано слово из n строчных латинских букв.
Во второй строке записано целое число m — количество запросов
(5 ≤ n, m ≤ 105). Следующие m строк содержат запросы.
Каждый запрос имеет вид «change i a» или «palindrome? j
k», где i, j, k — целые числа (1 ≤ i ≤ n; 1 ≤ j ≤ k ≤ n), а символ a — строчная латинская буква.
Результат
На все запросы второго типа выведите «Yes», если подслово sj...sk является палиндромом, и «No» в противном случае.
Пример
исходные данные | результат |
---|
abcda
5
palindrome? 1 5
palindrome? 1 1
change 4 b
palindrome? 1 5
palindrome? 2 4
| No
Yes
Yes
Yes
|
Автор задачи: Михаил Рубинчик
Источник задачи: Открытый командный чемпионат УрФУ по программированию — 2013