//valid,6857 //:END: import "../std.qbl" 600851475143 2 divHasLargerPF 3 while { // n p req dup 2 req req + // p n p+2 swp req // n p p+2 divHasLargerPF // p+2 hasLPF newN req } deq 2 - intToStr println function int int => bool int divHasLargerPF { req dup req divIfDivisible // n newN 1 req dup // newN 1 n newN == req req // is1 n newN if { false req deq } else { true deq req } } function int int => int divIfDivisible { // p n dup req dup swp // p n p n divmod 0 // p n p/n p%n 0 req req req == // p n p/n isDiv req req req if { deq req divIfDivisible } else { req deq deq } }