def get_chain(d):
	start_nodes = {}
	end_nodes = {}
	nodes = []
	for k, (end, start) in d.items():
		node = [k, (start, end), None]
		start_nodes[start] = node
		end_nodes[end] = node
		nodes.append(node)
		
	for node in nodes:
		start, end = node[1]
		if start in end_nodes:
			end_nodes[start][2] = node
		if end in start_nodes:
			node[2] = start_nodes[end]
			del start_nodes[end]
	
	lst = list(start_nodes.values())[0]
	final = [lst[1][0]]
	while lst is not None:
		final.append(lst[1][1])
		lst = lst[2]
	return final

print(get_chain({
	'A': ['tg', 17], 
	'B': [59, 60], 
	'C': [60, 61], 
	'D': [57, 'tt'], 
	'E': [61, 'tg'], 
	'F': ['tt', 59]
}))