def dfs(nod, graf, vizitat):
vizitat[nod] = True
print(nod, end=" ")
for vecin in graf[nod]:
if not vizitat[vecin]:
dfs(vecin, graf, vizitat)
def main():
print("Introdu N (noduri) și M (muchii):")
n, m = map(int, input().split())
graf = [[] for _ in range(n + 1)]
print(f"Introdu cele {m} muchii (u v):")
for _ in range(m):
u, v = map(int, input().split())
graf[u].append(v)
graf[v].append(u)
start = int(input(" start: "))
vizitat = [False] * (n + 1)
print(f"Parcurgere DFS începând din {start}:")
dfs(start, graf, vizitat)
print()
if __name__ == "__main__":
main()