procedure hailstone(n) while n > 1 do { suspend n n := if n%2 = 0 then n/2 else 3*n+1 } suspend 1 end