Козленятко, яке вчилось рахувати#4483

Козленятко, яке вчилось рахувати

1 секунда
128 мегабайтів
Середня

Козленятко працює контролером на паромі. Його завдання — слідкувати, щоб паром не потонув через перевищення вантажопідйомності. Сьогодні на паромі залишилося лише два квитки, і він може прийняти додатково не більше ніж кілограмів.

У цьому лісі є лише одна довга дорога, вздовж якої живуть звірі. Допоможіть козленятку визначити, чи може він знайти двох пасажирів на певній ділянці лісу.

Вхідні дані

У першому рядку задано два числа (2 \le n \le 10^6) і (1 \le k \le 10^9) — кількість звірів у лісі і залишкова вантажопідйомність парому відповідно.

У другому рядку містяться чисел — маси кожного із звірів.

Далі йде число (1 \le m \le 10^5) — кількість запитів.

У наступних рядках містяться по три числа: , і :

  • Якщо t = 1, то 1 \le l < r \le n. Це означає: перевірити, чи можна вибрати двох звірів на відрізку [l, r], сумарна маса яких не перевищує .

  • Якщо t = 2, то 1 \le l \le n, 1 \le r \le 10^9. Це означає: оновити масу звіра з номером на кілограмів.

Вихідні дані

Для кожного запиту типу виведіть рядок «Yes», якщо козленятко може знайти двох таких пасажирів на зазначеній ділянці, і «No» інакше.

Кожен запит типу означає, що маса звіра з номером змінюється і тепер дорівнює кілограмам.

Приклади

Приклад 1

Loading
Loading