W3Z36DDIHIDYI3TJY3CGJGZ6QAKGVJUUES5LQYIMRBQRMX5BCMGQC
(let ((lowest (apply #'min data))
(highest (apply #'max data)))
(loop for x from lowest to highest
minimizing (fuel-cost data x #'compounding-cost))))
(let* ((sum (reduce #'+ data))
(count (length data)))
(min (fuel-cost data (floor sum count) #'compounding-cost)
(fuel-cost data (ceiling sum count) #'compounding-cost))))