Fiind un băiat aventurier, călărețul Jonathan obișnuia să umble prin pădurile magice ale împărăției tatălui său. În interiorul meleagurilor lui, împăratul avea o livadă specială, în cadrul căreia se aflau n
meri magici, numerotați de la 1
la n
, fiecare măr i
conținând o cantitate cunoscută m[i]
de fructe. Fiind speciali, cantitatea de fructe din acești meri putea fi modificată. Ca în orice poveste, împăratul avea un dușman, pe vrăjitorul Afida, care dorea să-i atace livada. Cunoscând acest fapt, Jonathan, fiul împăratului, dorește să protejeze livada tatălui său. Cei doi se confruntă în livadă, fiecare făcând modificări asupra merilor. Există în total q
modificări, fiind de două tipuri:
1 x y p
: cantitatea de fructe din merii cu indici cuprinși între x
și y
crește cu p
, fiind o modificare făcută de Jonathan
2 x y p
: cantitatea de fructe din merii cu indici cuprinși între x
și y
scade cu p
, fiind o modificare făcută de vrăjitorul Afida
Mai mult
: În cadrul livezii împăratului, există câțiva meri extra magici care influențează modificările pe care le fac cei doi. Dacă în cadrul unei modificări a lui Jonathan, după y
există un măr extra magic t
, astfel încât între y
și t
nu există alt măr extra magic, interogarea cuprinsă între x
și y
se va transforma în interogare între x
și t
. Dacă în cadrul unei modificări a lui Afida, înaintea lui x
există un măr extra magic t
, astfel încât între t
și x
nu există alt măr extra magic, interogarea cuprinsă între x
și y
se va transforma în interogare între t
și y
.
Cerința
Să se afișeze cantitatea de fructe din fiecare măr după cele q
modificări.
Date de intrare
Pe prima linie a fișierului livada2.in
se găsește numărul n
. Pe următoarea linie se găsesc n
numere întregi, separate printr-un spațiu, al i
-lea număr reprezentând cantitatea de fructe din mărul corespunzător. Pe următoarea linie se găsesc n
numere, 0
sau 1
, separate printr-un spațiu, valorile 1
indicând faptul că mărul de pe poziția i
este extra special. Pe a 4
-a linie se află numărul q
de modificări. Următoarele q
linii vor conține interogările, fiind de forma: c x y p
. Dacă c=1
, modificarea este făcută de Jonathan. Dacă c=2
, modificarea este făcută de vrăjitorul Afida.
Date de ieșire
n fișierul livada2.out
vor fi afișate n
numere întregi separate prin câte un spațiu, reprezentând valorile din m
, adică cantitatea de fructe a fiecărui măr.
Restricții și precizări
1 ≤ n ≤ 100.000
1 ≤ q ≤ 250.000
1 ≤ m[i] ≤ 1000
, pentru1 ≤ i ≤ n
- Pentru 40 de puncte,
q ≤ 1000
șin ≤ 1000
- Pentru alte 20 de puncte, nu vor exista meri extra speciali
Exemplu:
livada2.in
10 17 18 2 21 14 6 13 14 8 10 1 1 0 0 0 0 1 0 0 0 7 2 4 7 3 1 8 9 16 2 8 8 25 2 4 4 8 1 2 8 1 2 8 9 21 1 5 6 19
livada2.out
17 8 -8 11 31 23 -16 -15 3 10
Explicație
Modificările efectuate sunt:
2 4 7 3
: Modificare făcută de Afida între indicii 4
și 7
. În stânga lui 4
, se află mărul extra special 2
. Modificarea se va face între indicii 2
și 7
, și se va scădea 3
din fiecare număr, rezultând valorile 17 15 -1 18 11 3 10 14 8 10
1 8 9 16
: Modificare făcută de Jonathan între indicii 8
și 9
. În dreapta lui 9
nu există alt măr extra special. Modificarea se va face între indicii 8
și 9
, și se va adăuga 16
la fiecare număr, rezultând valorile 17 15 -1 18 11 3 10 30 24 10
2 8 8 25
: Modificare făcută de Afida între indicii 8
și 8
. În stânga lui 8
, se află mărul extra special 7
. Modificarea se va face între indicii 7
și 8
, și se va scădea 25
din fiecare număr, rezultând valorile 17 15 -1 18 11 3 -15 5 24 10
2 4 4 8
: Modificare făcută de Afida între indicii 4
și 4
. În stânga lui 4
, se află mărul extra special 2
. Modificarea se va face între indicii 2
și 7
, și se va scădea 8
din fiecare număr, rezultând valorile 17 7 -9 10 11 3 -15 5 24 10
1 2 8 1
: Modificare făcută de Jonathan între indicii 2
și 8
. În dreapta lui 8
nu există alt măr extra special. Modificarea se va face între indicii 2
și 8
, și se va adăuga 1
la fiecare număr, rezultând valorile 17 8 -8 11 12 4 -14 6 24 10
2 8 9 21
: Modificare făcută de Afida între indicii 8
și 9
. În stânga lui 8
, se află mărul extra special 7
. Modificarea se va face între indicii 7
și 9
, și se va scădea 21
din fiecare număr, rezultând valorile 17 8 -8 11 12 4 -35 -15 3 10
1 5 6 19
: Modificare făcută de Jonathan între indicii 5
și 6
. În dreapta lui 6
se află mărul extra special 7
. Modificarea se va face între indicii 5
și 7
, și se va adăuga 19
la fiecare număr, rezultând valorile 17 8 -8 11 31 23 -16 -15 3 10