Week 3: Brute force + backtracking