adjacent
([X
,Y
],[RX
,Y
]) :- RX
is X
-1.adjacent
([X
,Y
],[RX
,Y
]) :- RX
is X
+1.adjacent
([X
,Y
],[X
,RY
]) :- RY
is Y
- 1.adjacent
([X
,Y
],[X
,RY
]) :- RY
is Y
+ 1.
find_all :-
adjacent([2,2], [X,Y]),
find_all.
:- find_all.
YWRqYWNlbnQoW1gsWV0sW1JYLFldKSA6LSBSWCBpcyBYIC0xLgphZGphY2VudChbWCxZXSxbUlgsWV0pIDotIFJYIGlzIFggKzEuCmFkamFjZW50KFtYLFldLFtYLFJZXSkgOi0gUlkgaXMgWSAtIDEuCmFkamFjZW50KFtYLFldLFtYLFJZXSkgOi0gUlkgaXMgWSArIDEuCgpmaW5kX2FsbCA6LQogICAgYWRqYWNlbnQoWzIsMl0sIFtYLFldKSwKICAgIHdyaXRlKFgpLCB3cml0ZSgnICcpLCB3cml0ZShZKSxubCwKICAgIGZhaWwuCgpmaW5kX2FsbC4KCjotIGZpbmRfYWxsLg==