Solution by Mark Senn