#include<bits/stdc++.h> usingnamespace std; constint LEN = 1050; int ans, fa[LEN];
intfind(int fa[], int x) { if (x == fa[x]) return x; return fa[x] = find(fa, fa[x]); }
voidjoin(int fa[], int a, int b) { int f1 = find(fa, a), f2 = find(fa, b); if (f1 != f2) { //每次合并都会减少一个连通块 fa[f1] = f2; --ans; } }
intmain() { int n, m, a, b; while (cin >> n && n) { for (int i = 1; i <= n; ++i) fa[i] = i; ans = n; cin >> m; while (m--) { cin >> a >> b; join(fa, a, b); } cout << ans - 1 << endl; } return0; }