insert(X, [], N, [X]). insert(X, L, 1, [X|L]). insert(X, [H|L1], N, [H|L2]) :- N > 1, N1 is N-1, insert(X, L1, N1, L2).