& PERLE .ORIGIN '2000; .CONSTANT M = -5; .COMPCONST NUMBER = '257; .INTEGER IJ; .LABEL E; .ARRAY S[M]; @ .PROCEDURE OUT; .BEGIN %SKS,'104; %JMP,*-1; %OCP,'104;   %OTA,4; %JMP,*-1; .END; .PROCEDURE NEWLINE; .BEGIN OUT('215); OUT('212); .END; .PROCEDURE PERLE; & ADAPTED FROM C.A.C.M ALGORITHMS NO. 202 .INTEGER JJ1J2J3WW1U; .BEGIN   .WHEN I .NZ .THEN   .BEGIN     .FOR J := M .DO     S[J] := .NEG J;     I := .Z;     .GOTO ROSE;   .END;   W := M;   LILIE:   W1 := .INC W;   .WHEN S[W] < S[W1.THEN   .BEGIN     .WHEN W = -2 .THEN     .GOTO E;     W := W1;     .GOTO LILIE;   .END;   U := S[W1];   J := M;   .FOR J1 := M W - 1 .DO   .BEGIN     .WHEN S[J] > U .THEN     .BEGIN S[W1] := S[J];       S[J] := U;       .GOTO TULPE;     .END;     J := J + 1;   .END;   TULPE:   J := .Z;   .FOR J1 := M W1 .SHSRA .DO   .BEGIN     J2 := M J;     J3 := W J;     U := S[J2];     S[J2] := S[J3];     S[J3] := U;     J := J + 1;   .END;   ROSE: .END; .ORIGIN '1000; .BEGIN  I := -1;   L:   PERLE;   NEWLINE;   .FOR J := M .DO   .BEGIN     INDEX := M J - 1;     OUT(NUMBER S[#]);   .END;   .GOTO L;   E:   NEWLINE; .END;