import sys nodes = set() edges = [] for line in sys.stdin: start, end = list(map(int, line.strip().split())) nodes.add(start) nodes.add(end) edges.append([start, end]) edges.append([end, start]) nodes = list(nodes) adjusts = {} isvisited = {} for node in nodes: adjusts[node] = [] isvisited[node] = False for start, end in edges: if start == end: pass else: adjusts[start].append(end) count = 0 for node in nodes: if not isvisited[node]: count += 1 queue = [node] while len(queue) > 0: cur = queue[0] queue.pop(0) for next_node in adjusts[cur]: if not isvisited[next_node]: queue.append(next_node) isvisited[next_node] = True print(count)