Color

Time limit: 0.2s Memory limit: 64MB Input: color.in Output: color.out

Cerință

Avem o matrice în care ne imaginăm fiecare celulă ca fiind o cutie în care se poate pune vopsea.
Se realizează kk operații de adăugare de vopsea în cutii. La o operație se precizează o submatrice de cutii. În fiecare cutie din submatrice se pune câte o unitate de vopsea de aceeași culoare. Astfel, există posibilitatea să ajungem ca într-o cutie să punem vopsea de mai multe ori.
Vopseaua folosită la o anumită operație este de culoare total diferită de toate tipurile folosite până atunci.
Când într-o cutie se pune din nou vopsea, aceasta se amestecă împreună cu vopseaua existentă acolo.
Practic, tipul de vopsea obținut într-o cutie la un final este dat de tipurile de vopsea folosite la fiecare operație care a afectat acea cutie. Prin amestecare se obține mereu un tip de vopsea diferit și el de al tuturor tipurilor de vopsea folosite la operațiile individuale dar și de alte tipuri de vopsea obținute din amestec cu altă structură a culorilor.
Să se determine câte tipuri distincte de vopsea se obțin.

Date de intrare

Fișierul color.in conține pe prima linie numărul nn reprezentând dimensiunea matricei și numărul kk reprezentând numărul de operații.
Pe fiecare din următoarele kk linii se află câte 44 numere, descriind câte o operație, cu structura: L1 C1 L2 C2L_1 \ C_1 \ L_2 \ C_2. Acestea reprezintă în ordine: linia și coloana colțului stânga sus al submatricei afectate respectiv linia și coloana colțului dreapta jos.

Date de ieșire

Fișierul color.out conține numărul de culori distincte care se află la final în cutiile matricei.

Restricții și precizări

  • 1k1501 \leq k \leq 150;
  • 1L1L2n1 \leq L_1 \leq L_2 \leq n;
  • 1C1C2n1 \leq C_1 \leq C_2 \leq n;
  • 1n10001 \leq n \leq 1000
  • Se garantează că fiecare cutie este afectată de maxim 66 operații;
  • Inițial toate cutiile sunt goale;

Exemplu

color.in

3 4
1 1 2 2
2 2 3 3
3 1 3 3
2 3 2 3

color.out

5

Explicație

Culorile distincte obținute în cutii sunt: (a)(a), (a,b)(a,b), (b,e)(b,e), (c)(c), (b,c)(b,c).

(a)(a) (a)(a)
(a)(a) (a,b)(a, b) (b,e)(b, e)
(c)(c) (b,c)(b, c) (b,c)(b, c)

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