Великий бой

아직 제출이 없습니다시간 제한5초메모리 제한1024 MB

문제

Оправившись после прошлого боя, Кратос снова отправляется в поход. Он решил подняться на Гору Олимп вместе с Титанами и устроить самое грандиозное сражение.

Поднявшись на гору, он увидел nn богов. Понаблюдав за ними, Кратос оценил силу каждого. Бог с номером ii обладает силой s_is\_i.

Сражаться с богами непросто, поэтому после боя с ii-м богом сила Кратоса TT становится равной Ts_i\lfloor \frac{T}{s\_i} \rfloor. Когда TT уменьшается до нуля, Кратос погибает.

Со временем некоторые рядом стоящие боги устают, и их сила уменьшается на единицу. Другими словами, Кратосу поступает запрос (ll, rr), который означает, что для каждого бога ii, стоящего на позиции с ll по rr, s_i=max(s_i1,1)s\_i = \max(s\_i - 1, 1).

Кратос придумывает планы по ходу боя. План под номером jj заключается в том, что Кратос будет сражаться по очереди с богами с номерами l_jl\_j, l_j+1l\_j + 1, \dots, r_jr\_j. При этом начальная сила Кратоса будет равна x_jx\_j. Для каждого плана он хочет узнать, сможет ли он выжить после его исполнения. Если Кратос погибнет, то он хочет узнать какой бог нанесет ему последний удар.

Помогите Кратосу и для каждого плана выведите номер бога, который убьет Кратоса. Если Кратос останется жив, то выведите <<-1>>.

입력

В первой строке входных данных содержится два целых числа nn и qq --- количество богов и количество запросов (1n,q,500,0001 \leq n, q, \leq 500\\,000). Во второй строке содержится nn целых чисел s_1s\_1, s_2s\_2, \dots, s_ns\_n --- силы богов (1s_i1091 \leq s\_i \leq 10^9). Каждая из последующий qq строк содержит запросы в следующем формате.

Сначала следует тип запроса typetype. Если type=1type = 1, то далее в строке содержатся два целых числа ll и rr, означающих, что сила богов с номерами от ll до rr уменьшилась (1lrn1 \leq l \leq r \leq n).

Если type=2type = 2, то далее в строке содержатся три целых числа ll, rr, xx --- номер первого бога, номер последнего бога и начальная сила Кратоса в очередном плане (1lrn,1x1091 \leq l \leq r \leq n, 1 \leq x \leq 10^9).

출력

После каждого запроса второго типа выведите номер бога, который убьет Кратоса. Если после исполнения плана Кратос останется жив, то выведите <<-1>>.

힌트

В первом запросе первого примера начальная сила Кратоса равна 61. После первого сражения она равна 611=61\lfloor \frac{61}{1} \rfloor = 61. Затем она равна 30, 10, 5, 1, 1 и 1 соответственно.