Solutions by Richard Loveland.