
fu([], _, _, []).
fu(Lst, N, 0, Rez) :-
    append([_], Cdr, Lst),
    fu(Cdr, N, N, Rez).
fu(Lst, N, K, Rez) :-
    append([A], Cdr, Lst),
    K1 is K - 1,
    fu(Cdr, N, K1, CdrRez),
    append([A], CdrRez, Rez).
remove_each_nth(Lst, N, Rez) :-
    N1 is N - 1,
    fu(Lst, N1, N1, Rez).

main :- 
    Lst1 = [1,2,3,4,5,6,7,8],
    remove_each_nth(Lst1, 3, Rez1),
    print(Rez1),
    remove_each_nth(Lst1, 2, Rez2),
    print(Rez2),
    remove_each_nth(Lst1, 1, Rez3),
    print(Rez3),
    halt.

:- main.