04: cache added, fast solution, 10/10