Mosty

W Bajtocji jest n miast i m dwukierunkowych dróg pomiędzy miastami, z każdego miasta da się dojechac do każdego innego na przynajmniej jeden sposób. Bajtocja obawia się ataku terrorystów. W najbardziej prawdopodobnym planie terroryści zniszczą jedną drogę w Bajtocji, ale nie wiadomo ktorą. Król Bajtocji ma więc pytanie - ile minimalnie dróg musi zbudować, aby zniszczenie dowolnej (ale tylko jednej) drogi w Bajtocji nie niszczyło sieci komunikacyjnej, tj. by wciąż dało się dojechać z każdego miasta do każdego innego.

Wejście, wyjście

W pierwszej linii wejścia są dwie liczby 1 <= n <= 5000 i 1 <= m <= 1000000, oznaczające odpowiednio liczbę miast i dróg w Bajtocji. W następnych m liniach są po dwie liczby 1 <= a,b <= n, oznaczające drogę między miastami a i b. Nie ma dwóch dróg o tych samych końcach.

Twój program powinien wypisać jedną linię z jedną liczbą - ile minimalnie dróg należy zbudować, aby zniszczenie jednej drogi nie rozspójniało miast w Bajtocji.

Przykład

7 7
1 2
2 3
2 4
2 5
5 6
6 7
7 5

dają odpowiedź

2

należy np. połączyć miasta 1 z 3 oraz 4 z 5.