Código comentado para facilitar su lectura