/*
TASK:SCHOOL
LANG:C
*/

#define MAXN 500

#include <stdio.h>

int n, m;
int a[MAXN+5][MAXN+5], inf[MAXN+5], br;
int i, j, fl, f;

int main()
{

scanf ( "%d%d", &n, &m );

for ( i = 1; i <= m; i++ )
    {
    int x, y;

    scanf ( "%d%d", &x, &y );

    a[x][y] = a[y][x] = 1;
    }

for ( i = 1; i <= n; i++ )
    {
    for ( j = 1; j <= n; j++ )
        if ( a[i][j] == 1 )
                           { f++;
                            if ( !fl ){
                                       fl++;
                                       if ( !inf[i] && !inf[j] ) br++;
                                       }
                            a[i][j] = a[j][i] = -1;
                            inf[i] = inf[j] = 1;
                           }
           else if ( inf[i] ) { fl++; f++; }
    fl = f = 0;
    }

for ( i = 1; i <= n; i++ )
    if ( !inf[i] ) br++;

printf ( "%d\n", br );

return 0;
}

