#include
#include
#include
using namespace std;
int main()
{
ifstream in("input.txt");
if (in.fail())
{
cout << "the input.txt is not exist!";
exit(1);
}
ofstream out("output.txt");
int m, i;
in >> m;
stack* s= new stack[m + 1];
int n, u, v, j, k = 0, h, b = 0;
in >> n;
if (n == 0)
out << m << endl;
if (n == 1)
out << m - 1 << endl;
else
{
for (i = 0; i < n; i++)
{
in >> u >> v;
s[u].push(v);
s[v].push(u);
}
for (i = 1; i <= m; i++)
{
while (!s[i].empty())
{
s[i].pop(j);
if (!s[j].empty())
{
while (!s[j].empty())
{
if (s[j].top() == i)
s[j].pop(h);
}
else
{
s[j].pop(h);
s[i].push(h);
}
k++;
}
}
}
k = m - k;
out << k << endl;
}
delete[] s;
return 1;
}