const { Glib } = require('../../lib'); const parse = (input) => Glib.fromLines(input).toInts().array; module.exports = { '1': (input) => { const program = parse(input); let programCounter = 0n; let step = 0; while (programCounter < program.length) { const delta = program[programCounter]; program[programCounter]++; programCounter += delta; step++; } return step; }, '2': (input) => { const program = parse(input); let programCounter = 0n; let step = 0; while (programCounter < program.length) { const delta = program[programCounter]; if (delta >= 3n) { program[programCounter]--; } else { program[programCounter]++; } programCounter += delta; step++; } return step; }, };