Solution by Joao Felipe.