A very old 1st-year university project. Written in 2008.