fu([], _, _, []).
fu(Lst, N, 0, Rez) :-
append([_], Cdr, Lst),
fu(Cdr, N, N, Rez).
fu(Lst, N, K, Rez) :-
append([A], Cdr, Lst),
fu(Cdr, N, K1, CdrRez),
append([A], CdrRez, Rez).
remove_each_nth(Lst, N, Rez) :-
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),
:- main.
CmZ1KFtdLCBfLCBfLCBbXSkuCmZ1KExzdCwgTiwgMCwgUmV6KSA6LQogICAgYXBwZW5kKFtfXSwgQ2RyLCBMc3QpLAogICAgZnUoQ2RyLCBOLCBOLCBSZXopLgpmdShMc3QsIE4sIEssIFJleikgOi0KICAgIGFwcGVuZChbQV0sIENkciwgTHN0KSwKICAgIEsxIGlzIEsgLSAxLAogICAgZnUoQ2RyLCBOLCBLMSwgQ2RyUmV6KSwKICAgIGFwcGVuZChbQV0sIENkclJleiwgUmV6KS4KcmVtb3ZlX2VhY2hfbnRoKExzdCwgTiwgUmV6KSA6LQogICAgTjEgaXMgTiAtIDEsCiAgICBmdShMc3QsIE4xLCBOMSwgUmV6KS4KCm1haW4gOi0gCiAgICBMc3QxID0gWzEsMiwzLDQsNSw2LDcsOF0sCiAgICByZW1vdmVfZWFjaF9udGgoTHN0MSwgMywgUmV6MSksCiAgICBwcmludChSZXoxKSwKICAgIHJlbW92ZV9lYWNoX250aChMc3QxLCAyLCBSZXoyKSwKICAgIHByaW50KFJlejIpLAogICAgcmVtb3ZlX2VhY2hfbnRoKExzdDEsIDEsIFJlejMpLAogICAgcHJpbnQoUmV6MyksCiAgICBoYWx0LgoKOi0gbWFpbi4=