Wilmer Ricciotti's solution

Commentary