:- use_module(library(clpfd)). abeceda([a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z]). rotiraj(K, L, L) :- K #=< 0. rotiraj(K, [A|B], C) :- K #> 0, K1 #= K - 1, append(B, [A], D), rotiraj(K1, D, C). preslikaj([X|_], [Y|_], X, Y). preslikaj([_|L1], [_|L2], X, Y) :- preslikaj(L1, L2, X, Y). cezar(K, In, Out) :- abeceda(A), rotiraj(K, A, B), maplist(preslikaj(A, B), In, Out). % ?- K in 0..25, label([K]), cezar(K, In, [y,p,f,y,j,z,u,f,h,u,b,q,x,u,a]).