% road(X,Y): city X is connected to city Y by a road
road( durango, redville) .
road( redville, durango) .
road( redville, hardwick) .
road( hardwick, redville) .
road( hardwick, newton) .
road( newton, hardwick) .
road( newton, burr) .
road( burr, newton) .
road( newton, hallsburg) .
road( hallsburg, newton) .
road( newton, burlington) .
road( burlington, newton) .
road( hallsburg, burlington) .
road( burlington, hallsburg) .
JSByb2FkKFgsWSk6IGNpdHkgWCBpcyBjb25uZWN0ZWQgdG8gY2l0eSBZIGJ5IGEgcm9hZApyb2FkKGR1cmFuZ28scmVkdmlsbGUpLgpyb2FkKHJlZHZpbGxlLGR1cmFuZ28pLgpyb2FkKHJlZHZpbGxlLGhhcmR3aWNrKS4Kcm9hZChoYXJkd2ljayxyZWR2aWxsZSkuCnJvYWQoaGFyZHdpY2ssbmV3dG9uKS4Kcm9hZChuZXd0b24saGFyZHdpY2spLgpyb2FkKG5ld3RvbixidXJyKS4Kcm9hZChidXJyLG5ld3RvbikuCnJvYWQobmV3dG9uLGhhbGxzYnVyZykuCnJvYWQoaGFsbHNidXJnLG5ld3RvbikuCnJvYWQobmV3dG9uLGJ1cmxpbmd0b24pLgpyb2FkKGJ1cmxpbmd0b24sbmV3dG9uKS4Kcm9hZChoYWxsc2J1cmcsYnVybGluZ3RvbikuCnJvYWQoYnVybGluZ3RvbixoYWxsc2J1cmcpLg==
stdin
cm9hZChidXJsaW5ndG9uLCBYKSwgcm9hZChYLCBZKSwgcm9hZChZLCBIKSwgZm9ybWF0KCdZb3UgY2FuIGdldCBmcm9tIEJ1cmxpbmd0b24gdG8gfncgd2hpY2ggd2lsbCBnZXQgeW91IHRvIH53IGFuZCB0aGVuIHRvIH53IGluIHR3byBob3BzLlxuJ1tYLCBZLCBIXSksIGZhaWwu
road(burlington, X), road(X, Y), road(Y, H), format('You can get from Burlington to ~w which will get you to ~w and then to ~w in two hops.\n'[X, Y, H]), fail.