>>769
% Prolog

t769(_ならび,_索引) :-
  位置番号を明示的に付加する(_ならび,1,L3),
  sort(L3,L2),
  位置番号を切り取り索引を作る(L2,_索引).

位置番号を明示的に付加する([],_,[]).
位置番号を明示的に付加する([A|R1],N,[[A,N]|R2]) :-
  N2 is N + 1,
  位置番号を明示的に付加する(R1,N2,R2).

位置番号を切り取り索引を作る(L2,_索引) :-
  findall(A,member([_,A],L2),_索引).