n,m=gets.split.map &:to_i
a=[];b=[];ans=n-1;h=Hash.new
n.times{|c|h[c+1]=0}
m.times{|t|a[t],b[t]=gets.split.map &:to_i
if h[a[t]]==1 && h[b[t]]==1
else
  h[a[t]]=1;h[b[t]]=1
  ans-=1
end
}
p [ans,0].max
