すいません、丸投げです。
「red,white,blue の3種類の複数の要素からなるリストL1を並べかえて
最初にred、次にwhite、最後にblueという順のリストL2にするプログラム
dutch(L1,L2)を以下の関数appendを用いて作成せよ。
append([],Y,Y).
append([X|Xs],Y,[X|Zs]) :- append(Xs,Y,Zs).
ただし、各要素は"色(順序)"という形で表現し、同一色同士の場合には、
出現の順序は保持されるものとする。例えば、
dutch([red(1),white(2),blue(3),red(4),white(5)],L)は
L=[red(1),red(4),white(2),white(5),blue(3)],となる」
ヒントだけでもいいので、どなたかお願いいたします。