append([],Ys,Ys).
append([X|Xs],Ys,[X|Zs]) :- append(Xs,Ys,Zs).

suffix(Xs, Ys) :-
    append(Xs, Suffix, Ys),
    write(Suffix).

cut(Zs) :-
    findall([Xs,Ys], (append(Xs, Ys, Zs)), Results),
  print_results(Results).

print_results([]).
print_results([Result|Results]) :-
    write(Result), nl,
    print_results(Results).
