Тюремні перестановки
Для того, щоб знизити ризики безпорядків та спроб втечі, адміністрації двох сусідніх в'язниць рівної місткості по кількості ув'язнених, вирішили помінятись своїми ув'язненими між собою. Вони хочуть обміняти половину ув'язнених з однієї з в'язниць, з половиною ув'язнених з іншої. Проте, з архівної інформації про історію злочинів ув'язнених, вони знають, що деякі пари ув'язнених небезпечно утримувати в одній і тій же в'язниці, і саме тому вони утримуватися окремо зараз, тобто для кожної такої пари ув'язнених, один з ув'язнених відбуває свій термін в першій тюрмі, а інший - у другій. Адміністрації домовилися про необхідність утримання цих пар роздільно в різних в'язницях, що робить задачу спроб вчинення обмінів трохи складнішою. Дійсно, скоро вони виявлять, що іноді неможливо виконати всі бажані обміни для половини ув'язнених. Кожен раз, коли таке відбувається, вони повинні погодитися на обмін, який знаходитися якомога ближче до половини обміну в'язнями наскільки це можливо.
Вхідні дані
У першому рядку вхідного файлу задано одне натуральне число n, яке вказує на кількість наступних тестових сценаріїв. Кожен тестовий сценарій починається з рядка, який містить два цілих невід'ємних числа m та r, 1 < m < 200 - є кількістю ув'язнених у кожній з двох в'язниць, а r - кількість небезпечних пар серед ув'язнених. Далі йде r рядків, кожен з яких містить пару x_i y_i цілих чисел у діапазоні від 1 до r, які означають, що ув'язнений x_i першої в'язниці не повинен бути поміщений у ту ж в'язницю, що і в'язник y_i другої в'язниці.
Вихідні дані
Для кожного тестового сценарія виведіть один рядок, який містить найбільше ціле число k ≤ m/2, таке, що можна обміняти k ув'язнених першої в'язниці з k ув'язненими другої в'язниці без отримання двох ув'язнених з доввільної небезпечної пари в одній і тій же в'язниці.