# Hint

Note that the rule that the predicate `path/2`

has to
express is very similar to the rule expressed by the predicate
`ancestor_of/2`

: in the first case, you can get from point X to point Y
by chaining together an arbitrary number of
`connected/2`

relations, and in the second case, X is
an ancestor of Y if a chain of an arbitrary number of
`parent_of/2`

relations connects them.

So, `path(X,Y)`

should succeed if `X`

is
directly connected to `Y`

. It should also succeed if
`X`

is directly connected to some `Z`

from where in turn there is a path to `Y`

.