let var start:=27 var current:=start type ai=array of int var size:=6 var a:ai:=new ai[size] of 0 var ptr:=0 in (while current<>1 do (when ptr=size do let var new_a:=new ai[size*2] of 0 in (for x:=0 to size-1 do new_a[x]:=(a[x]);a:=new_a;size:=(size*2)) end;if (current/2)=((current+1)/2) then current:=(current/2) else current:=((current*3)+1);a[ptr]:=current;ptr:=(ptr+1));let var ans:=new ai[ptr] of 0 in (for x:=0 to ptr-1 do ans[x]:=(a[x]);ans) end) end