; largest possible remainder
(define (lpr n d)
(let loop ((d d) (m 0))
(let ((r (remainder n d)))
(if (< d m) m
(loop (- d 1) (max m r))))))
(display (lpr 20 10)) (newline)
OyBsYXJnZXN0IHBvc3NpYmxlIHJlbWFpbmRlcgoKKGRlZmluZSAobHByIG4gZCkKICAobGV0IGxvb3AgKChkIGQpIChtIDApKQogICAgKGxldCAoKHIgKHJlbWFpbmRlciBuIGQpKSkKICAgICAgKGlmICg8IGQgbSkgbQogICAgICAgIChsb29wICgtIGQgMSkgKG1heCBtIHIpKSkpKSkKCihkaXNwbGF5IChscHIgMjAgMTApKSAobmV3bGluZSk=