// 2 Stacks // Get largest prime factor //READ 0 // Number PUSH 0 600851475143 PUSH 1 2 // Primes counter JMP start // Functions :divideIfDivisible PUSH 0 s0 PUSH 0 s1 MOD 0 JZ 0 isDivisible POP 0 RET :isDivisible POP 0 PUSH 0 s1 DIV 0 PUSH 1 1 SUB 1 RET :start CALL divideIfDivisible PUSH 0 s0 PUSH 0 1 SUB 0 JZ 0 end POP 0 PUSH 1 1 ADD 1 JMP start :end PUSH 1 1 ADD 1 WRITE s1