- Time limit: 1.00 s
- Memory limit: 128 MB
Annettuna on puu, jossa on n solmua. Jokaisella solmulla on tietty arvo. Tehtäväsi on vastata joukkoon kyselyitä seuraavaa muotoa:
- ilmoita pienin ja suurin arvo polulla solmujen a ja b välillä
- muuta solmun s arvoksi x
Syöte
Syötteen ensimmäisellä rivillä on kaksi kokonaislukua n ja q: solmujen määrä ja kyselyiden määrä. Solmut on numeroitu 1,2,\ldots,n.
Seuraavalla rivillä on n kokonaislukua x_1,x_2,\ldots,x_n: solmujen arvot.
Seuraavaksi syötteessä on n-1 riviä, jotka kuvaavat puun. Jokaisella rivillä on kaksi lukua a ja b. Tämä tarkoittaa, että solmujen a ja b välillä on kaari.
Lopuksi syötteessä on q riviä, jotka kuvaavat kyselyt. Jokainen kysely on muotoa "1 a b" tai muotoa "2 s x".
Tuloste
Ilmoita vastaus jokaiseen kyselyyn muotoa 1.
Rajat
- 1 \le n,q \le 10^5
- 1 \le x,x_i \le 10^9
- 1 \le a,b,s \le n
Esimerkki
Syöte:
5 3 4 8 1 5 4 1 2 1 3 3 4 3 5 1 2 5 2 3 7 1 2 5
Tuloste:
1 8 4 8