from sys import stdin class Node: def __init__(self): self.barn = [] self.ratatosk = False self.dybde = 0 def dfs(rot): stack = [rot] while stack: node = stack.pop() dybde = node.dybde if node.ratatosk is True: return dybde dybde += 1 def sett_dybde(node): node.dybde = dybde map(sett_dybde, node.barn) stack.extend(node.barn) def bfs(rot): queue = [rot] while queue: node = queue.pop(0) dybde = node.dybde if node.ratatosk is True: return dybde dybde += 1 def sett_dybde(node): node.dybde = dybde map(sett_dybde, node.barn) queue.extend(node.barn) funksjon = stdin.readline().strip() antall_noder = int(stdin.readline()) noder = [Node() for i in range(antall_noder)] start_node = noder[int(stdin.readline())] ratatosk_node = noder[int(stdin.readline())] ratatosk_node.ratatosk = True for linje in stdin: tall = linje.split() temp_node = noder[int(tall.pop(0))] temp_node.barn = [noder[int(i)] for i in tall] if funksjon == 'dfs': print dfs(start_node) elif funksjon == 'bfs': print bfs(start_node) elif funksjon == 'velg': print bfs(start_node)