prefix(X,[],X).
prefix(X,[H|Y],Z) :_ prefix(X,H,[X,H]).

suffix([],X,X).
suffix(X,[H|Y],Z) :_ suffix(H,X,[H,X]).

suffix(X,[1,2,3]).
