#include<bits/stdc++.h>
using namespace std;
int n=1,m;
int fa[1010];
int f[1010];
int find(int x){
if(fa[x]==x) return x;
else{
fa[x]=find(x);
return fa[x];
}
}
int main( ){
while(n!=0){
cin>>n>>m;
if(m==0){
cout<<n-1;
}
for(int i=1;i<=n;i++){
fa[i]=i;
}
for(int i=1;i<=m;i++){
int q,w;
cin>>q>>w;
if(find(q)==find(w)) fa[q]=find(w);
else fa[find(q)]=find(w);
}
int t=1;
int ans=0;
for(int i=1;i<=n;i++){
bool g=true;
for(int i=1;i<=t;i++){
if(find(i)==f[i]){
g=false;
}
}
if(g==true){
f[t]=find(i);
t++;
ans++;
}
}
cout<<ans<<endl;
}
return 0;
}