Ops1 = programInput => ({
[Opcode.ADD]: op((mem, [v1], [v2], [, p3]) => ((mem[p3] = v1 + v2), [])),
[Opcode.MULT]: op((mem, [v1], [v2], [, p3]) => ((mem[p3] = v1 * v2), [])),
[Opcode.GET]: op((mem, [, p1]) => ((mem[p1] = parseInt(programInput)), [])),
[Opcode.PUT]: op((_, [v1]) => [v1]),
[Opcode.HALT]: op(_ => [null, -1])
})