#000154

z-product

Mali Z je dobio N x N matricu cijelih brojeva. Na pocetku svi elementi matrice jednaki su 1.
Matrica podrzava 2 vrste operacije:
- 1 x y v - postavi vrijednost polja (x,y) u matrici na vrijednost v
- 2 x1 y1 x2 y2 - ispisi umnozak brojeva u pravokutniku (x1,y1) (x2,y2).

Mali Z zeli provjeriti rad matrice i trazi vas simulirate njen rad kroz Q zadanih operacija tipa 1 ili 2.


InputU prvom redu standardnog ulaza nalaze se 2 razmakom odvojena cijela broja N ( 1 <= N <= 1000 ) i Q ( 1 <= Q <= 60000 ).
U sljedecih Q linija nalazi se opis pojedine operacije.
Prvi broj u liniji oznacava tip naredbe, ako je tip naredbe 1 nakon njega slijede 3 cijela broja x, y ( 1 <= x, y <= N ) i v ( 1 <= v <= 10000 ).
Ako je tip naredbe 2 nakon njega slijede 4 cijela broja x1, y1, x2 i y2 ( 1 <= x1 <= x2 <= N ), ( 1 <= y1 <= y2 <= N ).


OutputZa svaku naredbu tipa 2 na standardni izlaz potrebno je ispisati po jednu liniju koja sadrzi rezultat tog upita. Kako taj broj moze biti vrlo velik ispisite ga po modulu 10007.


Ulaz:2 4
2 1 1 2 2
2 1 2 2 2
1 2 2 3
2 2 1 2 2

Izlaz:1
1
3


Ulaz:4 14
1 1 1 123
1 2 3 224
2 1 2 3 3
2 1 1 4 4
1 2 4 197
2 3 4 3 4
2 1 1 2 2
2 1 2 1 3
1 1 2 564
1 3 3 12
2 2 2 3 4
2 2 1 4 3
1 1 2 37
2 1 1 4 4

Izlaz:224
7538
1
123
1
9172
2688
2575

Submit solution

Coming later

The grading service will be connected in a later migration step. You can inspect the task and your previous results now.