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 + ".")