nazywa([q | X], X).
nazywa([r | X], Z) :- nazywa(X, Y), append(Y, Y, Z).

tworzy([c | X], Y) :- nazywa(X, Y).

niszczy([d | X], Y) :- tworzy(X, Y).

przyjaciel([f | X], Y) :- tworzy(X, Y).

wrog([e | X], Y) :- tworzy(X, Y).

najlepszy_przyjaciel([f, c, q | Y], Y).

najgorszy_wrog([e, c, q | Y], Y).
