Dammsugare

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

문제

Paolo jobbar som vaktmästare i en stor lagerlokal. Två av hans arbetsuppgifter är att dammsuga och att flytta runt föremål i lokalen. Paolo är ganska pragmatisk när det gäller städning, och väntar gärna tills det är så mycket damm att det inte går att flytta på saker längre. För att göra saken värre har han nyligen skaffat en robotdammsugare som han släpper ut istället för att städa själv. Robotdammsugaren är nämligen trasig och kan inte svänga, utan åker bara i en rät linje tills den krockar med en vägg och får slut på batteri.

Lagret kan representeras av ett N×MN \times M rutnät, där raderna är numrerade från 11 till NN och kolumnerna är numrerade från 11 till MM. Varje cell innehåller från början 00 enheter damm. Därefter går det QQ dagar. Varje dag börjar med att mängden damm i varje cell ökar med 11. Därefter kommer exakt en av tre saker hända:

  1. En händelse på formen 11 rr betyder att Paolo släpper lös robotdammsugaren längs med rad nummer rr, så att mängden damm i alla de cellerna blir 00.
  2. En händelse på formen 22 cc betyder att Paolo släpper lös robotdammsugaren längs med kolumn nummer cc.
  3. En händelse på formen 33 r_1r\_1 c_1c\_1 r_2r\_2 c_2c\_2 kk betyder att Paolo behöver flytta något från cellen (r_1,c_1)(r\_1, c\_1) till cellen (r_2,c_2)(r\_2, c\_2). Talet kk är föremålets dammtålighet, och det är bara möjligt att flytta föremålet över celler där mängden damm är högst kk. Om exempelvis (r_1,c_1)(r\_1, c\_1) eller (r_2,c_2)(r\_2, c\_2) har mer än kk dammenheter så är det inte möjligt att slutföra uppdraget.

Din uppgift är att för varje händelse av typ 33 räkna ut det minsta antalet steg Paolo behöver för att flytta föremålet. Paolo kan i ett steg flytta föremål från en cell till en närliggande cell, där närliggande betyder att de delar en sida (alla celler utom de på kanten har alltså fyra närliggande celler). Om det inte är möjligt att flytta föremålet ska du istället skriva ut 1-1.

입력

Den första raden innehåller tre heltal NN, MM och QQ (1N,M1061 \leq N,M \leq 10^6, 1Q31051 \leq Q \leq 3 \cdot 10^5).

De följande QQ raderna innehåller information om händelserna. Varje rad börjar med ett heltal tt som är antingen 11, 22 eller 33, och indikerar vilken typ av händelse det handlar om. Om t=1t = 1 finns det på samma rad ett till heltal rr (1rN1 \leq r \leq N), vilken rad som valdes. Om t=2t = 2 finns det istället ett tal cc (1cM1 \leq c \leq M), vilken kolumn som valdes. Om t=3t = 3 finns det 55 till heltal på samma rad, r_1,c_1,r_2,c_2,kr\_1, c\_1, r\_2, c\_2, k (1r_1,r_2N1 \leq r\_1, r\_2 \leq N, 1c_1,c_2M1 \leq c\_1, c\_2 \leq M, 0kQ0 \leq k \leq Q).

Det är garanterat att (r_1,c_1)(r\_1, c\_1) och (r_2,c_2)(r\_2, c\_2) är olika celler för varje händelse av typ 33, och att det finns minst en händelse av typ 33.

출력

För varje händelse av typ 33, skriv ut en rad med ett heltal, det minsta antalet steg för att flytta föremålet. Om det inte går att flytta föremålet, skriv istället ut 1-1.