#include <stdio.h>
#define MAX 101
int count = 0;
int visits[MAX];
int metrix[MAX][MAX];
void DFS (int v, int N) {
visits[v] = 1;
for (int i = 1; i <= N; i++) {
if (!visits[i] && metrix[v][i]) {
count++;
DFS(i, N);
}
}
}
int main(void) {
int N = 0;
int E = 0;
scanf("%d", &N);
scanf("%d", &E);
for (int i = 0; i < E; i++) {
int firstV, secondV;
scanf("%d %d", &firstV, &secondV);
metrix[firstV][secondV] = 1;
metrix[secondV][firstV] = 1;
}
DFS(1, N);
printf("%d\n", count);
return 0;
}