fun hailstone ← List by int n List h ← int[n] while n ≠ 1 n ← when((n % 2 æ 0), n / 2, 3 * n + 1) h.append(n) end return h end int NUMBER ← 27 int LESS_THAN ← 100000 List sequence ← hailstone(NUMBER) writeLine("The hailstone sequence for the number " + NUMBER + " has " + sequence.length + " elements") writeLine("starting with " + sequence.extractStart(4).join(", ") + " and ending with " + sequence.extractEnd(4).join(", ") + ".") int number ← 0 sequence ← int[] for int i ← 1; i < LESS_THAN; ++i List current ← hailstone(i) if current.length > sequence.length sequence ← current number ← i end end writeLine("The number less than 100000 with longest hailstone sequence is " + number + ", with length of " + sequence.length + ".")