The challenge in Day 6 is just about collecting the input, especially for part 2. Part 2: I loaded the rows into memory and scanned columns from right to left. A given column might have some digits, which collectively make a vertical number. It also might have an operator in the final row. This operator tells us how to combine the numbers we recently saw, so we do that and then reset our numbers back to an empty list.