Messy solution to problem 11