(defn Partition2 [N M]
  (loop [d (unchecked-divide-int M N)]
    (if (zero? (unchecked-remainder-int M d))
      d
      (recur (unchecked-dec-int d)))))
(println (Partition2 (unchecked-int (read)) (unchecked-int (read))))