shuffle(L, [], L).
shuffle(L, [R1|Rrest], S) :-
    conc(L1, Lrest, L),
    shuffle(Lrest, Rrest, Srest),
    conc(L1, [R1|Srest], S).

