f(G, s, t, s, True);  
  
bool f(G, s, t, p, g)  {  
	if (s == t)  {  
		return g;  
	}  
  
	bool r = False;  
	for (n : neigbors) {  
		if (n == p) {  
			continue;  
		}  
		r |= f(G, n, t, s, !g);  
	}  
	return r  
}