Problem: Zoe starts at the top left corner of an n x n square grid of numbers and must end at the bottom right corner. The numbers can be positive or negative. At each step, Zoe can go left, right, or down (but not up), and she can never revisit a square that she has already visited. Find an O(n ) algorithm to find the maximum sum of numbers Zoe can visit.