Solution by Philip Hood.