Solution by Aluin uploaded