Skoczki

Limit pamięci: 32 MB

Dana jest szachownica o wymiarach , z której usunięto pewną liczbę pól. Należy wyznaczyć maksymalną liczbę skoczków (koników) szachowych, które można ustawić na pozostałych polach szachownicy tak, żeby żadne dwa skoczki nie atakowały się nawzajem.


Rysunek 1: Skoczek umieszczony w polu S atakuje pola oznaczone przez x.

Zadanie

Napisz program, który:

  • wczyta opis szachownicy z usuniętymi polami ze standardowego wejścia,
  • wyznaczy maksymalną liczbę wzajemnie nie atakujących się skoczków szachowych, które można ustawić na tej szachownicy,
  • zapisze wynik na standardowym wyjściu.

Wejście

W pierwszym wierszu znajdują się dwie liczby całkowite i , gdzie , . Liczba oznacza rozmiar szachownicy, a oznacza liczbę usuniętych pól.

W każdym z kolejnych wierszy jest zapisana para liczb naturalnych i , gdzie , oddzielonych pojedynczym odstępem. Są to współrzędne usuniętych pól. Lewy górny róg szachownicy ma współrzędne , natomiast prawy dolny róg ma współrzędne . Pola nie powtarzają się.

Wyjście

Na standardowym wyjściu należy zapisać dokładnie jeden wiersz, zawierający pojedynczą liczbę całkowitą równą maksymalnej liczbie wzajemnie nie atakujących się skoczków, które można ustawić na zadanej szachownicy.

Przykład

Dla danych wejściowych:

3 2
1 1
3 3

poprawną odpowiedzią jest:

5