Solutions by James Smith.