Solution by Pete Houston
