Нові дороги
У Країні Числяндії є \(n\) міст та \(m\) доріг між ними. Мета полягає в тому, щоб побудувати нові дороги так, щоб між будь-якими двома містами був маршрут.
Ваше завдання - визначити мінімальну кількість необхідних доріг, а також визначити, які дороги потрібно побудувати.
Input Specification
Перша строка вхідних даних містить два цілі числа \(n\) \((1 \leq n \leq 10^5)\) та \(m\) \((1 \leq m \leq 2 * 10^5)\) : кількість міст та доріг. Міста пронумеровані від \(1\) до \(n\).
Після цього йдуть \(m\) строк, що описують дороги. Кожна строка містить два цілі числа \(a\) та \(b\) \((1 \leq a, b \leq n)\) : між цими містами є дорога.
Дорога завжди з'єднує два різні міста, і між будь-якими двома містами може бути максимум одна дорога.
Output Specification
Спочатку виведіть ціле число \(k\): кількість необхідних доріг.
Потім виведіть \(k\) строк, що описують нові дороги. Ви можете вивести будь-яке валідне рішення.
Sample Input 1
4 2
1 2
3 4
Sample Output 1
1
1 3
Comments