Оцінка Безпеки#2561

Оцінка Безпеки

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

Вузли кабельної мережі між собою з'єднані кабелями так, що кожен кабель з'єднує одну пару різних вузлів, а пара вузлів може бути з'єднана кількома кабелями. Мережа вважається зв'язною, якщо будь-які два вузли з'єднані безпосередньо або опосередковано; інакше, мережа є незв'язною. Рівень безпеки мережі визначається так:

Наприклад, розглянемо мережу на рисунку , де вузли відповідають заштрихованим колам, а кабелі показані лініями. Мережа залишається зв'язною при видаленні будь-якого одного кабелю, але видалення кабелів та роз'єднує мережу. Інший спосіб роз'єднати мережу — видалити кабелі та . Рівень безпеки S = 2.

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

Вхідні дані

Кожен набір даних починається з двох цілих чисел: кількість вузлів 0 \le n \le 100 і кількість кабелів 0 \le m \le 1000 у мережі. Далі йдуть пар , де u < v і та — ідентифікатори вузлів (цілі числа від до n-1). Пара позначає кабель, що з'єднує вузли та . Пари можуть бути в довільному порядку. Окрім пар , які не містять пробілів, пробіли у введенні можуть з'являтися довільно. Вхідні дані завершуються кінцем файлу і є коректними.

Вихідні дані

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

Приклади

Приклад 1

Loading
Loading