Problem description
Grzybiarz z Kujaw uprawia pieczarki na prostokątnym polu. Pole ma N rzędów i M kolumn. Rzędy numerowane są od 1 do N od góry do dołu. Kolumny numerowane są od 1 do M od lewej do prawej. Niech (r,k) oznacza komórkę w r-tym rzędzie i k-tej kolumnie.
W każdej komórce rośnie pieczarka. Z racji tego, że są one magiczne, to każda ma swój unikalny kolor, reprezentowany numerem od 0 do N × M − 1. Na początku w komórce (i,j) rośnie pieczarka w kolorze Ai, j.
Grzybiarz może przeprowadzać różne operacje na swoim polu. Łącznie zrobi ich Q. Operacje są następujących typów:
- 1 R1 C1 R2 C2 – zamiana miejscami pieczarek w komórkach (R1,C1) i (R2,C2).
- 2 W – każda pieczarka zmienia kolor z x na (x+W) mod (N⋅M).
- 3 R1 C1 R2 C2
– Grzybiarz pyta: jaki jest najmniejszy numer koloru, który nie
występuje w żadnej komórce (r,k) która spełnia R1 ≤ r ≤ R2
i C1 ≤ k ≤ C2?
Jeśli wszystkie kolory występują, wypisz
-1.
Wejście
Pierwsza linia zawiera dwie liczby całkowite N i M – wymiary pola. Kolejne N linii zawierają po M liczb całkowitych – początkowe kolory pieczarek. Następna linia zawiera liczbę Q – liczbę zdarzeń. Kolejne Q linii opisują zdarzenia w formacie opisanym wyżej.
Wyjście
Dla każdego zdarzenia typu 3 wypisz w osobnej linii najmniejszy numer
koloru, który nie występuje w zadanym prostokącie, lub -1,
jeśli wszystkie kolory w nim występują.
Ograniczenia
1 ≤ N, M ≤ 500, 0 ≤ Ai, j ≤ N ⋅ M − 1, 1 ≤ Q ≤ 100 000.
Każda liczba od 0 do N ⋅ M − 1 występuje dokładnie raz w początkowej konfiguracji.
Dla zdarzenia typu 1: 1 ≤ R1, R2 ≤ N, 1 ≤ C1, C2 ≤ M.
Dla zdarzenia typu 2: 1 ≤ W ≤ N ⋅ M − 1.
Dla zdarzenia typu 3: 1 ≤ R1 ≤ R2 ≤ N, 1 ≤ C1 ≤ C2 ≤ M.
Jest przynajmniej jedno zdarzenie typu 3.
Podzadania
| Podzadanie | Warunki | Punkty |
|---|---|---|
| 1 | maksymalnie 10 zdarzeń typu 2 i 10 zdarzeń typu 3 | 9 |
| 2 | maksymalnie 10 zdarzeń typu 3 | 10 |
| 3 | brak zdarzeń typu 2; każde zdarzenie typu 3 obejmuje prostokąt od pierwszego do połowy wierszy: (1,1,⌈N/2⌉,M) | 15 |
| 4 | każde zdarzenie typu 3 obejmuje prostokąt od pierwszego do połowy wierszy: (1,1,⌈N/2⌉,M) | 8 |
| 5 | brak zdarzeń typu 1 i 2 | 28 |
| 6 | brak zdarzeń typu 2 | 23 |
| 7 | brak dodatkowych ograniczeń | 7 |
Przykład
| Wejście | Wyjście | Wyjaśnienie |
|
|
Po trzech pierwszych zdarzeniach pole
wygląda następująco:
|