#include <iostream>
#include <vector>

int main() {
	std::ios_base::sync_with_stdio(false);
	std::cin.tie(nullptr);
	int n, m;
	std::cin >> n >> m;
	std::vector<std::vector<int>> graf(n);
	for (int i = 0; i < m; i++) {
		int a, b;
		std::cin >> a >> b;
		graf[a - 1].push_back(b - 1);
	}
	long long wynik = -m;
	for (int i = 0; i < n; i++) {
		std::vector<int> stos;
		std::vector<bool> widziano(n);
		stos.push_back(i);
		widziano[i] = true;
		while (!stos.empty()) {
			int v = stos.back();
			stos.pop_back();
			for (const auto& w : graf[v]) {
				if (!widziano[w]) {
					widziano[w] = true;
					stos.push_back(w);
					wynik++;
				}
			}
		}
	}
	std::cout << wynik << '\n';
	return 0;
}
