Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Malowanie
(malowanie-set)
Limit pamięci: 256 MB
Limit czasu: 7.00 s

Malarz Stefan otrzymał M zleceń dotyczących ciągu N budynków (indeksowanych od 1 do N). Należy je wykonać po kolei, od najwcześniejszego do najpóźniejszego. Każde z nich polega na pomalowaniu jakiegoś spójnego podciągu tych budynków (od ai-tego budynku do bi-tego budynku) na kolor ci.

Może się okazać, że niektóre zlecenia każą przemalować już wcześniej pomalowane budynki - wtedy należy ponownie zmienić ich kolor. Stefan zastanawia się, jak będą wyglądać te budynki po ukończonych zleceniach. Chciałby kupić tylko tyle różnych rodzajów farby, ile jest mu potrzeba (jeśli jakaś farba zostanie potem całkowicie zamalowana to nie ma potrzeby jej kupować). Pomóż mu znaleźć ich liczbę.

Wejście

W pierwszym wierszu wejścia znajdują się dwie liczby naturalne N i M oznaczające kolejno liczbę budynków i liczbę zleceń. W następnych M wierszach podane są trzy liczby naturalne ai, bi i ci - początek i koniec podciągu budynków do pomalowania oraz kolor.

Wyjście

W pierwszym (jedynym) wierszu wyjścia należy wypisać jedną liczbę całkowitą - liczbę różnych kolorów, jakie musi zakupić Stefan, aby być w stanie uzyskać takie kolory budynków jakie będą one miały po wykonaniu wszystkich zleceń.

Ograniczenia

1 ≤ N ≤ 109, 1 ≤ M ≤ 106, 0 ≤ ai ≤ bi ≤ N, 0 ≤ ci ≤ 109.

Przykład

Wejście Wyjście Wyjaśnienie
10 5
1 3 1
5 10 2
1 4 3
5 8 4
9 10 5
3

Przedziały [1,3] i [5,10] zostaną całkowicie zamalowane, więc poprawny wynik to 3.

Wejście Wyjście Wyjaśnienie
10 2
1 3 1
6 8 1
1

Kolorujemy przedziały [1,3] i [6,8] na ten sam kolor, więc poprawny wynik to 1.