def Tar(graph,node,visited,count):
visited.add(node)
id[node]=count
low[node]=id[node]
stack.append(node)
onstack[node]=True
if node in stack and low[node]== ids[node]:
stack.pop(node)
for neighbor in graph[node]:
if neighbor not in visited :
Tar(graph,neighbor, visited,count+1)
graph = {
0: [1],
1: [2, 3],
2: [0],
3: [4],
4: []
}
ids=[-1]*len(graph)
low=[0]*len(graph)
stack=[]
onStack=[False]*len(graph)
count=1
visited =set()
result=Tar(graph,0,visited,count)