Доміно#4640

Доміно

1 секунда
64 мегабайти
Середня

Набір доміно складається з прямокутних кісточок, кожна з яких розділена на дві половинки лінією, паралельною коротшій стороні. На кожній з половинок намальовані точки, кількість яких відповідає числу від до включно. На кісточках повного набору доміно позначені усі можливі різні пари чисел, наприклад, якщо дорівнює , то повний набір містить кісточок: , , , , , , , , , . З кісточок можна викладати ланцюжки, з'єднуючи пари кісточок короткими сторонами, якщо кількості точок на сусідніх з місцем з'єднання половинках кісточок рівні. Деякі кісточки були видалені з повного набору. Потрібно визначити, яку мінімальну кількість ланцюжків потрібно скласти з кісточок, що залишились у наборі, щоб кожна з них належала рівно одному ланцюжку.

Напишіть програму, яка за інформацією про набір доміно повинна відповісти, яку мінімальну кількість ланцюжків потрібно викласти.

Вхідні дані

У першому рядку міститься одне ціле число (0 \leq M \leq 100), яке відповідає максимально можливій кількості точок на половинці кісточки.

У другому рядку записано одне ціле число , рівне кількості кісточок, видалених з повного набору.

Кожен -й з наступних рядків містить по два числа A_i та B_i. Це кількості точок на половинках -ї видаленої кісточки.

Вихідні дані

Вивести одне ціле число — мінімальну кількість ланцюжків.

Приклади

Приклад 1

Loading
Loading