SOLVE
LATER
As a present for becoming a Genin, Naruto bought for his son a Lego Train. The little child quickly became addict to the game. He usually spends a lot of time playing with them outside mission times; no wonder why he is good at creating complicated Train Structures.
A Train Structure in Lego is a set of Lego train stations with some Lego roads connecting them. Lego Roads are undirected, that is if you can travel from \(station_u\) to \(station_v\) and the reverse holds too.
After Finishing a structure, Little Boruto tries to improve its design. To do so, he first calculates the \(designScore\) of his creation. According to him, the \(designScore\) of a structure is the number of train stations from where you can start and return back to using at least 2 Lego roads that are all pairwise different. Then, he will add exactly one Lego road to his structure and re- calculate the \(designScore\) and records it. Among all possible choices he has made, he chooses the one which yields the maximum score.
This task is very demanding and Little Boruto never had the chance of trying all possible combinations before bed time. That’s why, he would like you to help him improving the design of his next creations.
Input Format:
First line contains two integers n and m; the number of train stations and the numbers of roads, respectively. Each of the next m lines contain a pair of integers \((u, v)\), meaning that there is a road connecting \(station_u\) to \(station_v\).
Output:
Print a single integer denoting the answer to the problem.
Constraints: