//#include <stdio.h>
//int d[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
//int map[9][9]={0};
//int num;
//void pop(int x, int y){
// int p,i;
// p=map[x][y];
// map[x][y]=0;
// for(i=0; i<4; i++){
// if(map[x+d[i][0]][y+d[i][1]]==p){
// num++;
// pop(x+d[i][0], y+d[i][1]);
// }
// }
//}
//int main(){
// int i, j, a=1, b=1, sum=0;
// for(i=1; i<=7; i++){
// for(j=1; j<=7; j++){
// scanf("%d", &map[i][j]);
// }
// }
// while(a<8){
// if(map[a][b]!=0){
// pop(a, b);
// if(num>1) sum++;
// num=0;
// }
//// for(i=1; i<=7; i++){
//// for(j=1; j<=7; j++){
//// printf("%d ", map[i][j]);
//// }
//// printf("\n");
//// }
//// printf("sum: %d", sum);
//// printf("\n");
// if(b==7){
// b=1;
// a++;
// }
// else b++;
// }
// printf("%d", sum);
//}
#include <stdio.h>
int sum, a[100][2]= {0};
int map[100][100]= {0};
int i, j, p;
void com(int x, int y)
{
map[y][x]=0;
map[x][y]=0;
sum++;
for(i=x; i<p; i++)
{
if(map[y][i]==1) com(y,i);
}
}
int main()
{
int n;
scanf("%d", &n);
scanf("%d", &p);
for(i=0; i<p; i++)
{
scanf("%d %d", &a[i][0], &a[i][1]);
map[a[i][0]][a[i][1]]=1;
map[a[i][1]][a[i][0]]=1;
}
com(a[0][0], a[0][1]);
printf("%d", sum);
}