lcm x y lcmIter x y 0 times x y lcmIter x y z u if or ge 0 x ge z u x y z u if true x y z u z if false x y z u if2 divisible z y x y z u if2 true x y z u z if2 false x y z u lcmIter x y plus x z u plus 0 y y plus s x y s plus x y times x y ifTimes ge 0 x x y ifTimes true x y 0 ifTimes false x y plus y times y p x p s x x p 0 s s 0 ge x 0 true ge 0 s y false ge s x s y ge x y or true y true or false y y divisible 0 s y true divisible s x s y div s x s y s y div x y 0 divisible x y div 0 y s z false div s x y s z div x y z a b a c 2.2 lcmIter x y z u or ge 0 x ge z u if2 false x y z u plus x z divisible s x s y div s x s y s y ifTimes false x y plus y times y p x ifTimes false x y p x div s x y s z div x y z div x y 0 divisible x y if false x y z u divisible z y times x y ifTimes ge 0 x x y ifTimes false x y times y p x if2 false x y z u lcmIter x y plus x z u lcm x y times x y if false x y z u if2 divisible z y x y z u lcm x y lcmIter x y 0 times x y lcmIter x y z u ge 0 x lcmIter x y z u if or ge 0 x ge z u x y z u times x y ge 0 x ge s x s y ge x y lcmIter x y z u ge z u plus s x y plus x y true lcm x y lcmIter x y 0 times x y false lcm x y times x y false lcmIter x y z u if or ge 0 x ge z u x y z u if false x y z u if2 divisible z y x y z u if2 false x y z u lcmIter x y plus x z u true Failed! NaTT certifiable-1.6