flower

Time limit: 0.75s Memory limit: 256MB Input: flower.in Output: flower.out

"He can call me a flower if he wants to... I don't mind..."

După ce au ajutat la gonirea spiridușilor de praf, Henry și Hetty și-au găsit o slujbă care să le testeze cu adevărat talentul la curățenie. Mai exact, ei s-au angajat la o fermă de sconcși nou înființată. Aceasta este formată inițial din NN cuști goale, dispuse in linie. Pentru a începe activitatea de creștere a sconcșilor, ei vor avea de făcut MM operații de forma:

  • 1 cnr mnr pnr1 \ c_{nr} \ m_{nr} \ p_{nr}: Henry și Hetty aduc cel de-al nrnr-ulea sconcs la fermă, pe care îl pun în cușca cnrc_{nr}. Acest sconcs are are miros mnrm_{nr} și coeficient de pierdere al mirosului pnrp_{nr}.
  • 2 l r2 \ l \ r: Henry și Hetty trebuie să afle care este mirosul minim dintr-o cușcă aflată în intervalul [l,r][l, r]. Mirosul dintr-o cușcă y (1yN)y \ (1 \leq y \leq N) se definește ca fiind max(mxpx×ycx)max ( m_x - p_x \times |y - c_x| ), pentru 1xnr, nr1 \leq x \leq nr, \ nr fiind numărul de sconcși aduși la fermă până la operația curentă.

Date de intrare

Pe prima linie a fișierului de intrare flower.in se vor afla două numere naturale NN și MM, cu semnificația din enunț. Pe următoarele MM linii se vor afla descrierile celor MM operații. Primul număr de pe fiecare linie, tip, semnifică tipul operației. Dacă tip=1tip = 1, pe linia respectivă se vor mai afla trei numere naturale cnr,mnr,pnrc_{nr}, m_{nr}, p_{nr} semnificând faptul că al nrnr-ulea sconcs, adus în cușca cnrc_{nr}, are miros mnrm_{nr} și coeficient de pierdere al mirosului pnrp_{nr}. Dacă tip=2tip = 2, pe linia respectivă se vor mai afla două numere naturale l rl\ r, semnificând faptul că Henry și Hetty trebuie să afle care este mirosul minim dintr-o cusca aflată în intervalul [l,r][l, r].

Date de ieșire

În fișierul de ieșire flower.out se vor afișa în ordine, câte unul pe linie, răspunsurile la operațiile de tip 22 citite din fișierul de intrare.

Restricții și precizări

  • 1N200 000 1 \leq N \leq 200 \ 000;
  • 1M500 000 1 \leq M \leq 500 \ 000;
  • 1cxN 1 \leq c_x \leq N, pentru fiecare operație de tip 11.
  • 1mx,px1 000 000 000 1 \leq m_x, p_x \leq 1 \ 000 \ 000 \ 000, pentru fiecare operație de tip 11.
  • 1lrN 1 \leq l \leq r \leq N, pentru fiecare operație de tip 22.
  • Fiecare sconcs adus la fermă are un coeficient de pierdere al mirosului mai mare sau egal cu cel al sconcsului adus anterior. Cu alte cuvinte pxpx+1p_x \leq p_{x+1} pentru orice xx, 1x<nr1 \leq x < nr.
  • Într-o cușcă se pot afla mai mulți sconcși la un moment dat.
  • Răspunsul la fiecare operație de tip 22 va putea fi reprezentat ca un întreg pe 6464 de biți cu semn.
  • Răspunsul la o operație de tip 22 poate fi și negativ.
  • Pentru 2020% din teste N1 000N \leq 1 \ 000 și M3 000M \leq 3 \ 000.

Exemplu

flower.in

4 6
1 3 5 2
1 1 8 3
2 1 4
1 4 10 4
2 3 4
2 1 2

flower.out

3
6
5

Explicație

Cele 66 operații au următoarele semnificații:

  1. Este adus în cușca 33 un sconcs care are mirosul 55 și coeficient de pierdere al mirosului 22.
  2. este adus în cușca 11 un sconcs care are mirosul 88 și coeficient de pierdere al mirosului 33.
  3. Acum, cușca cu miros minim din intervalul [1,4][1, 4] este cușca 44, în care mirosul are valoarea 33.
  4. Este adus în cușca 44 un sconcs care are mirosul 1010 și coeficient de pierdere al mirosului 44.
  5. Acum, cușca cu miros minim din intervalul [3,4][3, 4] este cușca 33, în care mirosul are valoarea 66.
  6. Acum, cușca cu miros minim din intervalul [1,2][1, 2] este cușca 22, în care mirosul are valoarea 55.

Log in or sign up to be able to send submissions!