#45925: 有所貢獻


11211132@fyvs.tc.edu.tw (28羅詩涵)


def dfs(u):
    for v in graph[u]:
        if not visited[v]:
            visited[v] = True
            if match[v] == -1 or dfs(match[v]):
                match[v] = u
                return True
    return False

n, m = map(int, input().split())
graph = [[] for _ in range(n + 1)]

for _ in range(m):
    a, b = map(int, input().split())
    graph[a].append(b)

match = [-1] * (n + 1)
res = 0

for u in range(1, n + 1):
    visited = [False] * (n + 1)
    if dfs(u):
        res += 1

print(n - res)