(N,M),*AB = $<.map{|ln| ln.split.map(&:to_i) }

友達の輪と大きさ = [-1]*(N+1)
輪 = lambda{|人|
	next 友達の輪と大きさ[人]<0 ? 人 : 友達の輪と大きさ[人]=輪[友達の輪と大きさ[人]]
}
輪の大きさ = lambda{|人|
	next -友達の輪と大きさ[輪[人]]
}
友達です = lambda{|人人|
	輪1,輪2 = 人人.map(&輪)
	next if 輪1 == 輪2

	輪小,輪大 = 友達の輪と大きさ[輪1]<友達の輪と大きさ[輪2] ? [輪2,輪1] : [輪1,輪2]
	友達の輪と大きさ[輪大] += 友達の輪と大きさ[輪小]
	友達の輪と大きさ[輪小] = 輪大
}

AB.each(&友達です)

p(-友達の輪と大きさ.min)
