>69
combination(L,N,L) :-
  list_length(L,Len),
  Len = N,
  ! .
combination([A|R],N,[A|Y]) :-
  M is N - 1,
  combination(R,M,Y).
combination([_|R],N,X)
 :-
  combination(R,N,X).
でよいのでしょうか。