На Рис.1 зображена схема, що складається з островів, позначених точками і пронумерованих від до , та мостів, зображених лініями, кожна з яких з'єднує різні острови.

По кожному мосту можна рухатися в обох напрямках. Завдання полягає в тому, щоб, починаючи з одного острова, відвідати кожен міст рівно один раз і повернутися в початкову точку. Такий обхід називається all-bridges-walk.
Розв'язати таке завдання для островів і мостів, зображених на Рис.1, неможливо. Однак, якщо додати кілька мостів, all-bridges-walk стає можливим — наприклад, додавши нові мости, що з'єднують острів з островом і острів з островом . На Рис.2 показана схема з чотирма островами і трьома мостами. Якщо для цієї схеми буде запропоновано завдання all-bridges-walk, то двох мостів від острова до острова буде достатньо для успішного виконання завдання.
У даній країні є островів і мостів. Напишіть програму, що знаходить мінімальну кількість мостів, які потрібно добудувати, щоб виконати all-bridges-walk.
Перший рядок стандартного вводу містить натуральні числа і (n \le 1000, m \le 10000). На наступних рядках дані мости, задані парами номерів островів.
У першому рядку виведіть число необхідних нових мостів. Наступні рядків повинні містити нові мости, задані двома номерами островів, які ці мости з'єднують. Якщо оптимальних рішень декілька, виведіть будь-яке з них. Якщо нові мости не потрібні, виведіть .
Приклад 1
Приклад 2