#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
int ans[maxn];
int fa[maxn], n, k;
void init(int n) {
  for (int i = 0; i <= n; i++) fa[i] = i;
}
int Find(int v) {
  if (v == fa[v]) return v;
  fa[v] = Find(fa[v]);
  return fa[v];
}
void update(int u, int v) {
  int fu = Find(u);
  int fv = Find(v);
  fa[fu] = fv;
}
int main() {
  while (cin >> n >> k) {
    init(n);
    memset(ans, 0, sizeof ans);
    for (int i = 0; i < k; i++) {
      int a, b;
      scanf("%d%d", &a, &b);
      update(a, b);
    }
    for (int i = 0; i <= n; i++) {
      ans[Find(i)]++;
    }
    int totl = 0;
    for (int i = 0; i <= n; i++) {
      totl += max(0, ans[i] - 1);
    }
    cout << k - totl << endl;
  }
  return 0;
}
