#include<bits/stdc++.h>
using namespace std;
int n, m, a, b, cnt;
int f[1005], arr[1005];
bool flg;
int find(int x){
if(f[x] != x){
f[x] = find(f[x]);
}
return f[x];
}
int main(){
while(1){
cnt = 0;
memset(f, 0, sizeof(f));
memset(arr, 0, sizeof(arr));
scanf("%d", &n);
if(n == 0){
break;
}
scanf("%d", &m);
for(int i = 1; i <= n; i++){
f[i] = i;
}
for(int i = 1; i <= m; i++){
scanf("%d%d", &a, &b);
f[find(a)] = find(b);
}
for(int i = 1; i <= n; i++){
flg = 1;
for(int j = 1; j <= cnt; j++){
if(f[i] == arr[j]){
flg = 0;
break;
}
}
if(flg){
arr[++cnt] = f[i];
}
}
printf("%d\n", cnt - 1);
}
return 0;
}