; homework
(define range
(case-lambda
((stop) (range 0 stop (if (negative? stop) -1 1)))
((start stop) (range start stop (if (< start stop) 1 -1)))
((start stop step)
(let ((le? (if (negative? step) >= <=)))
(let loop ((x start) (xs (list)))
(if (le? stop x) (reverse xs)
(loop (+ x step) (cons x xs))))))
(else (error 'range "too many arguments"))))
(define (rept n x)
(map (lambda (_) x) (range n)))
(define (f n c)
(let ((q (quotient c n))
(r (remainder c n)))
(append (rept r (+ q 1))
(rept (- n r) q))))
(display (f 7 26))
OyBob21ld29yawoKKGRlZmluZSByYW5nZQogIChjYXNlLWxhbWJkYQogICAgKChzdG9wKSAocmFuZ2UgMCBzdG9wIChpZiAobmVnYXRpdmU/IHN0b3ApIC0xIDEpKSkKICAgICgoc3RhcnQgc3RvcCkgKHJhbmdlIHN0YXJ0IHN0b3AgKGlmICg8IHN0YXJ0IHN0b3ApIDEgLTEpKSkKICAgICgoc3RhcnQgc3RvcCBzdGVwKQogICAgICAobGV0ICgobGU/IChpZiAobmVnYXRpdmU/IHN0ZXApID49IDw9KSkpCiAgICAgICAgKGxldCBsb29wICgoeCBzdGFydCkgKHhzIChsaXN0KSkpCiAgICAgICAgICAoaWYgKGxlPyBzdG9wIHgpIChyZXZlcnNlIHhzKQogICAgICAgICAgICAobG9vcCAoKyB4IHN0ZXApIChjb25zIHggeHMpKSkpKSkKICAgIChlbHNlIChlcnJvciAncmFuZ2UgInRvbyBtYW55IGFyZ3VtZW50cyIpKSkpCgooZGVmaW5lIChyZXB0IG4geCkKICAobWFwIChsYW1iZGEgKF8pIHgpIChyYW5nZSBuKSkpCiAKIChkZWZpbmUgKGYgbiBjKQogIChsZXQgKChxIChxdW90aWVudCBjIG4pKQogICAgICAgIChyIChyZW1haW5kZXIgYyBuKSkpCiAgICAoYXBwZW5kIChyZXB0IHIgKCsgcSAxKSkKICAgICAgICAgICAgKHJlcHQgKC0gbiByKSBxKSkpKQoKKGRpc3BsYXkgKGYgNyAyNikp