Solution by Francis Whittle
