Козленятко працює контролером на паромі. Його завдання — слідкувати, щоб паром не потонув через перевищення вантажопідйомності. Сьогодні на паромі залишилося лише два квитки, і він може прийняти додатково не більше ніж кілограмів.
У цьому лісі є лише одна довга дорога, вздовж якої живуть звірі. Допоможіть козленятку визначити, чи може він знайти двох пасажирів на певній ділянці лісу.
У першому рядку задано два числа (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