Великий бій#11030

Великий бій

4 секунди
128 мегабайтів
Складна

Оправившись після минулого бою, Кратос знову вирушає в похід. Він вирішив піднятися на Гору Олімп разом з Титанами і влаштувати найграндіознішу битву.

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

Битися з богами непросто, тому після бою з -м богом сила Кратоса стає рівною \lfloor t / s_i \rfloor. Коли зменшується до нуля, Кратос гине.

З часом деякі поруч стоячі боги втомлюються, і їхня сила зменшується на одиницю. Іншими словами, Кратосу надходить запит (l, r), який означає, що для кожного бога , що стоїть на позиції з по , s_i = \max(s_i - 1, 1).

Кратос придумує плани під час бою. План під номером полягає в тому, що Кратос буде битися по черзі з богами з номерами l_j, l_j + 1, \ldots, r_j. При цьому початкова сила Кратоса буде рівна x_j. Для кожного плану він хоче дізнатися, чи зможе він вижити після його виконання. Якщо Кратос загине, то він хоче дізнатися, який бог завдасть йому останнього удару.

Допоможіть Кратосу і для кожного плану виведіть номер бога, який уб'є Кратоса. Якщо Кратос залишиться живим, то виведіть .

Вхідні дані

У першому рядку міститься два цілих числа і (1 \le n, q \le 500000) - кількість богів і кількість запитів. У другому рядку міститься цілих чисел s_1, s_2, \ldots, s_n (1 \le s_i \le 10^9) - сили богів. Кожен з наступних рядків містить запити у наступному форматі.

Спочатку йде тип запиту . Якщо type = 1, то далі в рядку містяться два цілі числа і (1 \le l \le r \le n), що означають, що сила богів з номерами від до зменшилася.

Якщо type = 2, то далі в рядку містяться три цілі числа , , (1 \le l \le r \le n, 1 \le x \le 10^9) - номер першого бога, номер останнього бога і початкова сила Кратоса в черговому плані.

Вихідні дані

Після кожного запиту другого типу виведіть номер бога, який уб'є Кратоса. Якщо після виконання плану Кратос залишиться живим, то виведіть .

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Примітка

У першому запиті першого прикладу початкова сила Кратоса дорівнює . Після першого бою вона дорівнює \lfloor 61 / 1 \rfloor = 61. Потім вона дорівнює , , , , і відповідно.