atfed(K,S1,S2):- sub_atom(S1, _, K, 0, P1), sub_atom(S2, 0, K, _, P2), P1 = P2. atfedok_h(K, S):- word(S1,N1), word(S2,N2), N1 \= N2, S1 \= S2, atfed(K, S1, S2), S=S1-K-S2. mindenk(K,S):-mindenk(0,K,S). mindenk(X,K,S):- X =< K -> Z is X + 1, atfedok_h(Z,S), mindenk(Z,K,S). feed_words([],_). feed_words([W|WL],N):- asserta(word(W,N)), N2 is N + 1, feed_words(WL,N2). atfedok(K,L1,L2):- feed_words(L1,0), findall(S, (mindenk(K, S)), L2), abolish(word/2).