shuffle([], [], []).
shuffle([A|RestA], B, [A|Shuffled]) :-
    shuffle(RestA, B, Shuffled).
shuffle(A, [B|RestB], [B|Shuffled]) :-
    shuffle(A, RestB, Shuffled).
