const { Glib } = require('../../lib'); module.exports = { '1': (input) => Glib.fromLines(input) .toInts() .sum(), 2: (input) => Glib.fromLines(input) .toInts() .infinite() .partialReduce( ({ seen, position }, move, index) => { position = position + move; if (seen.has(position)) { return position; } seen.add(position); return { seen, position }; }, (state) => typeof state !== 'bigint', { seen: new Set([0n]), position: 0n }, ), };