Solution by Jan Krňávek