member(X,[X|Y]).
member(X,[Y|Z]):-member(X,Z).
append([],X,X).
append([A|B],C,[A|D]):-append(B,C,D).
reverse([],[]).
reverse([A|B],C):-reverse(B,D),append(D,[A],C).
                                                                                                                                                                                                                                                                                                                                                     