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
).
Y2FuX3Bob25lKGFubmUsYmlsbCkuCmNhbl9waG9uZShhbm5lLG1hcnkpLgpjYW5fcGhvbmUoYmlsbCx0b20pLgpjYW5fcGhvbmUoYmlsbCxzdWUpLgpjYW5fcGhvbmUodG9tLGxpeikuCmNhbl9waG9uZSh0b20sZnJhbmspLgpjYW5fcGhvbmUobGl6LGZyYW5rKS4KbWVzc2FnZV9yb3V0ZShBLEIsW0EsQl0pIDotIGNhbl9waG9uZShBLEIpLgptZXNzYWdlX3JvdXRlKEEsQixSKSA6LSBjYW5fcGhvbmUoQSxYKSwgbWVzc2FnZV9yb3V0ZShYLEIsVGFpbCksIFIgPSBbQXxUYWlsXS4KOi1tZXNzYWdlX3JvdXRlKGFubmUsZnJhbmssQ2hhaW4pLCB3cml0ZShDaGFpbiku