:- table a/2. tw :- ((a(a,D) ; a(b,D) ; a(c,D)),write(D),nl ; a(Q,W),write(a(Q,W)),nl), fail. tw. a(a,X) :- p(1,X). a(a,X) :- p(2,X). a(a,X) :- p(3,X). a(b,X) :- p(2,X). a(b,X) :- p(3,X). a(c,X) :- p(3,X). p(1,10). p(1,11). p(2,12). p(2,13). p(3,14). p(3,15).