can_phone(anne,bill).
can_phone(anne,mary).
can_phone(bill,tom).
can_phone(bill,sue).
can_phone(tom,liz).
can_phone(tom,frank).
can_phone(liz,frank).
message_route(A,B,[A,B]) :- can_phone(A,B).
message_route(A,B,R) :- can_phone(A,X), message_route(X,B,Tail), R = [A|Tail].
:-message_route(anne,frank,Chain), write(Chain).