Задача №114109. Андреева учит детей

После вчерашнего младшего тура Елена Владимировна очень разозлилась на детей, так как они не набирали баллы по задачам. Сегодня она решила покончить с этим раз и навсегда.

Она села на самолет из Сочи в Москву и приехала в ЛОШ, где увидела \(n\) детей, у которых были нули по задачам. Каждый школьник обладает "гнилью", которую Елена Владимировна характеризует натуральным числом. "Гниль" \(i\)-ого школьника, она оценивает как \(s_i\).

Чтобы избавить общество от "гнили", она решает учить детей, но этот процесс ухудшает ее настроение. После отдыха в Сириусе ее настроение оценивается натуральным числом \(x\), при этом, обучив \(i\)-ого школьника, оно становится равным \(x=\lfloor \frac{x}{s_i} \rfloor\). Когда настроение уменьшится до 0, она перестает учить школьников и возвращается в Сочи.

Младшие преподаватели заботятся о настроении Елены Владимировны, поэтому со временем они заставляют некоторых школьников с подряд идущими номерами сдавать задачи, после чего их "гниль" уменьшается на 1 с каждой решенной задачей, но она не может стать меньше 1. Другими словами, иногда Вы узнаете, что школьники на отрезке [\(l\), \(r\)] решили новую задачу, и для \(i \in \) [\(l\), \(r\)] гниль" \(i\)-ого школьника стала равной \(s_i = \max(s_i - 1, 1)\).

Елена Владимировна разрабатывает стратегии обучения школьников. Каждая стратегия характеризуется 3 числами \(l\), \(r\) и \(x\): она будет по очереди обучать детей с номерами \(l\), \(l+1\), \(\dots\), \(r\) , при этом ее начальное настроение равно \(x\).

Помогите Елене Владимировне, выведите номер ребенка, после обучения которого, ее настроение уменьшится до \(0\). Если Елена Владимировна обучит всех детей и ее здоровье останется большим \(0\)  — выведите «-1» (без кавычек).

Входные данные

В первой строке входных данных содержится два целых числа \(n\) и \(q\) — количество школьников и число запросов (\(1 \leq n, q, \leq 500\,000\)).

Во второй строке содержится \(n\) целых чисел \(s_1\), \(s_2\), \(\dots\), \(s_n\) — "гниль" каждого ученика (\(1 \leq s_i \leq 10^9\)).

Каждая из последующий \(q\) строк содержит запросы в следующем формате.

Сначала следует тип запроса \(type\).

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

Если \(type = 2\), то далее в строке содержатся три целых числа \(l\), \(r\), \(x\) — номер первого школьника, номер последнего школьника и начальное настроение Елены Владимировны в очередной стратегии (\(1 \leq l \leq r \leq n, 1 \leq x \leq 10^9\)).

Выходные данные

После каждого запроса второго типа выведите номер ребенка, после обучения которого, ее настроение уменьшится до \(0\). Если Елена Владимировна обучит всех детей и ее здоровье останется большим \(0\)  — выведите «-1» (без кавычек).

Система оценки

В данной задаче 5 групп тестов:

  1. решения, работающие при \(n, q\le100\) оцениваются в 11 баллов
  2. решения, работающие при \(n, q\le5000\) оцениваются в 24 балла
  3. решения, работающие при \(n, q\le100000\) оцениваются в 56 баллов
  4. решения, работающие при \(n, q\le300000\) оцениваются в 79 баллов
  5. решения, работающие при \(n, q\le500000\) оцениваются в 100 баллов

Примеры
Входные данные
6 4
1 2 3 2 3 1
2 1 6 61
2 1 3 2
1 1 3
2 1 3 2
Выходные данные
-1
3
-1
Входные данные
3 3
100 200 300
2 2 3 500
1 1 3
2 1 3 5890598
Выходные данные
3
3
Сдать: для сдачи задач необходимо войти в систему