BEGIN { cycles = 1; X = 1; } function cycle() { if (cycles == 20 || (cycles-20) % 40 == 0) { sum += cycles * X; } cycles++; } /addx/ { cycle(); cycle(); X += $2; } /noop/ { cycle(); } END { print sum; }