programming assignment 2 - inverse cache