
take(0, _, []).
take(N, [A|B], [A|C]) :- Nm is N-1, take(Nm, B, C).

list2diff([],X-X).
list2diff([H|T], [H|X]-Y) :- list2diff(T, X-Y).

diff2list(X-[], X).

push_back(X-[A|C], A, X-C).
%diffpend(A-Ak,B-Bk,C-Ck):-Ak=B,C=A,Ck=Bk.
diffpend(A-B, B-C, A-C).

