# Hint

The general structure of the predicate `travel/2`

is
just as for the predicates `path/2`

and
`ancestor_of/2`

: we can travel from X to Y if we can
get from X to Y in one single step, and we can travel from X to
Y if we can make one step to Z and it is possible to travel from
Z to Y. The only difference with `travel`

is that
there are several possibilities of what 'one step' can look
like, because we can do it by car, train, or plane.