Solution by mauke.