Umplere simetrica

Time limit: 0.2s Memory limit: 256MB Input: Output:

Cerință

Mișu a primit de la Moș Nicolae un set de NMN \cdot M pahare, pe care acesta le-a așezat sub forma unei matrice1^1 cu NN linii și MM coloane. El mai are la dispoziție și două tipuri de lapte în cantități nelimitate, numite în mod creativ lapte A și lapte B, cu care poate umple paharele. Orice pahar poate fi umplut fie cu lapte de tipul AA, fie de tipul BB. Mișu notează cu L[i][j]L[i][j] tipul de lapte cu care este umplut paharul de la linia ii, coloana jj.

Fiindcă este un copil curios, Mișu vrea să vadă în câte moduri2^2 distincte poate umple cele N×MN \times M pahare, dacă respectă următoarele QQ restricții de tipul:

a b c d - Considerând submatricea determinată de coordonatele colțurilor sale astfel:

  • colțul stânga-jos la paharul cu coordonatele (a,b)(a,b);
  • colțul dreapta-sus la paharul cu coordonatele (c,d)(c,d).

Aranjamentul paharelor din interiorul submatricei trebuie să fie o imagine în oglindă față de axa orizontală și față de axa verticală. Formal, trebuie respectate următoarele restricții:

  • L[a+i][j]=L[ci][j]L[a + i][j] = L[c - i][j] pentru oricare 0ica0 \leq i \leq c - a și bjdb \leq j \leq d;
  • L[i][b+j]=L[i][dj]L[i][b + j] = L[i][d - j] pentru oricare aica \leq i \leq c și 0jdb0 \leq j \leq d - b.

Deoarece Mișu a băut prea mult lapte, vă roagă pe voi să calculați numărul de moduri de a umple paharele astfel încât să fie respectate toate cele QQ restricții, modulo 998 244 353998\ 244\ 353.

Date de intrare

Pe prima linie se vor afla trei numere întregi N,MN,M și QQ - numărul de linii, coloane, respectiv numărul de restricții ce trebuie respectate.
Pe următoarele QQ linii se vor afla câte patru numere a,b,c,da, b, c, d - coordonatele colțurilor stânga-jos, respectiv dreapta-sus ale unei restricții ce trebuie respectate.

Date de ieșire

Se va afișa un singur număr rerezentând numărul de moduri diferite în care Mișu poate umple paharele respectând toate cele QQ restricții, modulo 998 244 353998\ 244\ 353

Restricții și precizări

  • 1^1Matricea este indexată de la 11;
  • 2^2Două moduri LL și LL' de a umple paharele sunt diferite dacă există cel puțin un pahar astfel încât L[i][j]L[i][j]L[i][j] \neq L'[i][j];
  • 1N,M3001 \leq N, M \leq 300;
  • 1Q30 0001 \leq Q \leq 30\ 000;
  • 1aiciN1 \leq a_i \leq c_i \leq N;
  • 1bidiM1 \leq b_i \leq d_i \leq M.

Subtask-uri

# Punctaj Restricții
0 0 Exemplul
1 11 N=1N = 1
2 13 submatricele din cele QQ restricții nu se intersectează
3 32 11Q(ciai+1)(dibi+1)200 0001 \leq \sum\limits_1^Q (c_i-a_i + 1)\cdot(d_i-b_i + 1) \leq 200\ 000
4 44 Fără restricții suplimentare

Exemplul 1

stdin

4 5 2
1 2 3 4
1 1 4 5

stdout

16

Exemplul 2

stdin

10 10 3
1 1 4 4
5 5 10 10
8 1 10 3

stdout

229805564

Log in or sign up to be able to send submissions!