Solution by Robert Gratza
