ins_tail([], N, [N]).
ins_tail([H|T], N, [H|R]) :- ins_tail(T, N, R).

:- ins_tail([1, 2, 3], 4, X), write(X), nl.