fn main [ var stones := map(list_break_whitespace(read_lazy(h[0])), ston); for i := 0 to 25 do [ var new_stones := empty(int); for s in stones do [ if s = 0 then [ new_stones +<= 1; continue; ] var str := ntos(s); if not len(str) bt 0 then [ var half := len(str) shr 1; new_stones +<= ston(str[ .. half]); new_stones +<= ston(str[half .. ]); continue; ] new_stones +<= s * 2024; ] stones := new_stones; ] write(h[1], ntos(len(stones)) + nl); ]