Вам дан массив \(a\) длины \(n\) в \(1\)-нумерации, каждый элемент которого равен \(1\) или \(2\).
Обработайте \(q\) запросов следующих двух типов:
- «1 s»: проверить, существует ли подотрезок\(^{\dagger}\) массива \(a\), сумма которого равна \(s\).
- «2 i v»: заменить \(a_i\) на \(v\).
\(^{\dagger}\) Массив \(b\) является подотрезком массива \(a\), если \(b\) может быть получен из \(a\) путем удаления нескольких (возможно, нуля или всех) элементов из начала и нескольких (возможно, нуля или всех) элементов из конца. В частности, массив является подотрезком самого себя.
Выходные данные
Для каждого запроса с \(\mathrm{op}=1\) выведите в отдельной строке «YES», если существует подотрезок \(a\), сумма которого равна \(s\), в противном выведите «NO».
Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.
Примечание
Рассмотрим первый набор входных данных:
- Ответом на первый запрос будет «YES», потому что \(a_1+a_2+a_3=2+1+2=5\).
- Ответ на второй запрос — «YES», потому что \(a_1+a_2+a_3+a_4=2+1+2+1=6\).
- Ответом на третий запрос будет «NO», так как нельзя найти ни одного подотрезка \(a\), сумма которого равна \(7\).
- После четвертого запроса массив \(a\) становится равным \([2,1,2,2,2]\).
- Ответом на пятый запрос будет «YES», так как \(a_2+a_3+a_4+a_5=1+2+2+2=7\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
2 5 5 2 1 2 1 2 1 5 1 6 1 7 2 4 2 1 7 3 2 2 2 2 1 6 1 5
|
YES
YES
NO
YES
YES
NO
|