:: josephus ( n k -- m ) 2 n [a,b] 0 [ [ k + ] dip mod ] reduce 1 + ; : josephus2 ( n -- m ) dup log2 2^ - 2 * 1 + ;