import sys
sys.setrecursionlimit(200000)
def citireDate():
with open("dfs.in") as f:
date = f.read().split()
n = int(date[0])
m = int(date[1])
graf = [[] for i in range (n + 1)]
indexCurent = 2
for i in range(m):
x = int(date[indexCurent])
y = int(date[indexCurent + 1])
graf[x].append(y)
graf[y].append(x)
indexCurent += 2
return n, m, graf
def dfs(nod):
vizitat[nod] = True
for vecin in graf[nod]:
if not vizitat[vecin]:
dfs(vecin)
n, m, graf = citireDate()
vizitat = [False] * (n + 1)
numar_componente = 0
for nod in range(1, n + 1):
if not vizitat[nod]:
dfs(nod)
numar_componente += 1
with open("dfs.out", "w") as f:
f.write(str(numar_componente)+"\n")