(defun fac (n)
(loop for result = 1 then (* result i)
for i from 2 to n
finally (return result)))
(defun zeros (n)
(loop for num = n then (/ num 10)
for zero = (zerop (rem num 10))
until (null zero)
summing 1 into result
finally (return result)))
(defun zero-fac (n)
(let ((num-digits-over-hundred (- (ceiling (log n 10)) 3)))
(+ (* (truncate n 100) 25) (- (zeros (fac (rem n 100))) num-digits-over-hundred))))
(loop repeat (read)
do (format t "~A~%" (zero-fac (read))))
KGRlZnVuIGZhYyAobikKICAobG9vcCBmb3IgcmVzdWx0ID0gMSB0aGVuICgqIHJlc3VsdCBpKQoJZm9yIGkgZnJvbSAyIHRvIG4KCWZpbmFsbHkgKHJldHVybiByZXN1bHQpKSkKCihkZWZ1biB6ZXJvcyAobikKICAobG9vcCBmb3IgbnVtID0gbiB0aGVuICgvIG51bSAxMCkKCWZvciB6ZXJvID0gKHplcm9wIChyZW0gbnVtIDEwKSkKCXVudGlsIChudWxsIHplcm8pCglzdW1taW5nIDEgaW50byByZXN1bHQKCWZpbmFsbHkgKHJldHVybiByZXN1bHQpKSkKCihkZWZ1biB6ZXJvLWZhYyAobikKICAobGV0ICgobnVtLWRpZ2l0cy1vdmVyLWh1bmRyZWQgKC0gKGNlaWxpbmcgKGxvZyBuIDEwKSkgMykpKQogICAgKCsgKCogKHRydW5jYXRlIG4gMTAwKSAyNSkgKC0gKHplcm9zIChmYWMgKHJlbSBuIDEwMCkpKSBudW0tZGlnaXRzLW92ZXItaHVuZHJlZCkpKSkKCihsb29wIHJlcGVhdCAocmVhZCkKICAgICAgZG8gKGZvcm1hdCB0ICJ+QX4lIiAoemVyby1mYWMgKHJlYWQpKSkp