Conway:=function(seq) local i, r, newseq; newseq:=[]; i:=1; while i<=Length(seq) do r:=0; repeat r:=r+1; until i+r>Length(seq) or not seq[i]=seq[i+r]; Append(newseq,[r,seq[i]]); i:=i+r; od; return(newseq); end;