const fs = require('fs'); const input = fs.readFileSync(__dirname + '/input.txt', 'utf8'); let stones: Array = input.slice(0, -1).split(' '); let sum = 0; function splitStones(stones: Array) { const newStones: Array = []; stones.forEach((stone) => { if (stone === '0') { newStones.push('1'); return; } const len = stone.length; if (len % 2 === 0) { newStones.push(stone.slice(0, len / 2)); let last = stone.slice(len / 2); newStones.push(''+(parseInt(last))); return; } newStones.push(''+(parseInt(stone) * 2024)); }); return newStones; } let newStones = stones; const blinks = 25; for (let i = 0; i < blinks; i++) { newStones = splitStones(newStones); } console.log(newStones.length);