Solution by Jonas Berlin.