Solutions to the SICP tasks