#include <bits/stdc++.h>
using namespace std;
int f[1010];
int ans;
int find(int x) {
if(x==f[x])
return x;
return f[x]=find(f[x]);
}
void join(int x,int y) {
int f1=find(x);
int f2=find(y);
if(f1!=f2) {
f[f1]=f2;
ans--;
}
}
int main() {
int n,m;
while(cin>>n) {
if(n==0) break;
cin>>m;
int x,y;
ans=n;
for(int i=0; i<n; ++i) {
f[i]=i;
}
for(int j=0; j<m; ++j) {
cin>>x>>y;
join(x,y);
}
cout<<ans-1<<endl;
}
return 0;
}