n,m=gets.split.map(&:to_i)
l=[]
n.times do
  l << []
end
m.times do
  a,b=gets.split.map(&:to_i)
  l[a-1] << b-1
  l[b-1] << a-1
end
v=[0]*n
x=0
n.times do |i|
  if v[i]==0
    v[i]=1
    s=[i]
    c=1
    while s!=[]
      z=[]
      s.each do |ss|
        l[ss].each do |lss|
          if v[lss]==0
            v[lss]=1
            c+=1
            z << lss
          end
        end
      end
      s=z.dup
    end
    x=c if x<c
  end
end
puts x
