M(0,4) called.  Cache key = 4
M(0,4): # Changes to land on the origin at index 2: 1
M(0,4): Calling M(2,3).
  M(2,3) called.  Cache key = 605
  M(2,3): # Changes to land on the origin at index 4: 1
  M(2,3): Calling M(4,2).
    M(4,2) called.  Cache key = 1206
    M(4,2): # Changes to land on the origin at index 6: 0
    M(4,2): Calling M(6,2).
      M(6,2) called.  Cache key = 1808
      M(6,2): # Changes to land on the origin at index 8: 1
      M(6,2): Calling M(8,1).
        M(8,1) called.  Cache key = 2409
        M(8,1): # Changes to land on the origin at index 10: 0
        M(8,1): Calling M(10,1).
          M(10,1) called.  Cache key = 3011
          M(10,1): # Changes to land on the origin at index 12: 1
          M(10,1): Calling M(12,0).
            M(12,0) called.  Cache key = 3612
            M(12,0): Calculated directly since cl == 0: Returning 0
          M(10,1): Best value when land on the origin at index 12: 1
          M(10,1): Found a new max: 1
          M(10,1): # Changes to land on the origin at index 14: 0
          M(10,1): Calling M(14,1).
            M(14,1) called.  Cache key = 4215
            M(14,1): # Changes to land on the origin at index 16: 1
            M(14,1): Calling M(16,0).
              M(16,0) called.  Cache key = 4816
              M(16,0): Calculated directly since cl == 0: Returning 0
            M(14,1): Best value when land on the origin at index 16: 1
            M(14,1): Found a new max: 1
            M(14,1): # Changes to land on the origin at index 18: 0
            M(14,1): Calling M(18,1).
              M(18,1) called.  Cache key = 5419
              M(18,1): # Changes to land on the origin at index 20: 0
              M(18,1): Calling M(20,1).
                M(20,1) called.  Cache key = 6021
                M(20,1): Returning 0
              M(18,1): Best value when land on the origin at index 20: 1
              M(18,1): Found a new max: 1
              M(18,1): Returning 1
            M(14,1): Best value when land on the origin at index 18: 2
            M(14,1): Found a new max: 2
            M(14,1): # Changes to land on the origin at index 20: 0
            M(14,1): Calling M(20,1).
              M(20,1) called.  Cache key = 6021
              Found in the cache.  Returning 0
            M(14,1): Best value when land on the origin at index 20: 1
            M(14,1): Returning 2
          M(10,1): Best value when land on the origin at index 14: 3
          M(10,1): Found a new max: 3
          M(10,1): # Changes to land on the origin at index 16: 1
          M(10,1): Calling M(16,0).
            M(16,0) called.  Cache key = 4816
            Found in the cache.  Returning 0
          M(10,1): Best value when land on the origin at index 16: 1
          M(10,1): # Changes to land on the origin at index 18: 0
          M(10,1): Calling M(18,1).
            M(18,1) called.  Cache key = 5419
            Found in the cache.  Returning 1
          M(10,1): Best value when land on the origin at index 18: 2
          M(10,1): # Changes to land on the origin at index 20: 0
          M(10,1): Calling M(20,1).
            M(20,1) called.  Cache key = 6021
            Found in the cache.  Returning 0
          M(10,1): Best value when land on the origin at index 20: 1
          M(10,1): Returning 3
        M(8,1): Best value when land on the origin at index 10: 4
        M(8,1): Found a new max: 4
        M(8,1): # Changes to land on the origin at index 12: 1
        M(8,1): Calling M(12,0).
          M(12,0) called.  Cache key = 3612
          Found in the cache.  Returning 0
        M(8,1): Best value when land on the origin at index 12: 1
        M(8,1): # Changes to land on the origin at index 14: 0
        M(8,1): Calling M(14,1).
          M(14,1) called.  Cache key = 4215
          Found in the cache.  Returning 2
        M(8,1): Best value when land on the origin at index 14: 3
        M(8,1): # Changes to land on the origin at index 16: 1
        M(8,1): Calling M(16,0).
          M(16,0) called.  Cache key = 4816
          Found in the cache.  Returning 0
        M(8,1): Best value when land on the origin at index 16: 1
        M(8,1): # Changes to land on the origin at index 18: 0
        M(8,1): Calling M(18,1).
          M(18,1) called.  Cache key = 5419
          Found in the cache.  Returning 1
        M(8,1): Best value when land on the origin at index 18: 2
        M(8,1): # Changes to land on the origin at index 20: 0
        M(8,1): Calling M(20,1).
          M(20,1) called.  Cache key = 6021
          Found in the cache.  Returning 0
        M(8,1): Best value when land on the origin at index 20: 1
        M(8,1): Returning 4
      M(6,2): Best value when land on the origin at index 8: 5
      M(6,2): Found a new max: 5
      M(6,2): # Changes to land on the origin at index 10: 1
      M(6,2): Calling M(10,1).
        M(10,1) called.  Cache key = 3011
        Found in the cache.  Returning 3
      M(6,2): Best value when land on the origin at index 10: 4
      M(6,2): # Changes to land on the origin at index 12: 0
      M(6,2): Calling M(12,2).
        M(12,2) called.  Cache key = 3614
        M(12,2): # Changes to land on the origin at index 14: 1
        M(12,2): Calling M(14,1).
          M(14,1) called.  Cache key = 4215
          Found in the cache.  Returning 2
        M(12,2): Best value when land on the origin at index 14: 3
        M(12,2): Found a new max: 3
        M(12,2): # Changes to land on the origin at index 16: 1
        M(12,2): Calling M(16,1).
          M(16,1) called.  Cache key = 4817
          M(16,1): # Changes to land on the origin at index 18: 1
          M(16,1): Calling M(18,0).
            M(18,0) called.  Cache key = 5418
            M(18,0): Calculated directly since cl == 0: Returning 1
          M(16,1): Best value when land on the origin at index 18: 2
          M(16,1): Found a new max: 2
          M(16,1): # Changes to land on the origin at index 20: 1
          M(16,1): Calling M(20,0).
            M(20,0) called.  Cache key = 6020
            M(20,0): Calculated directly since cl == 0: Returning 0
          M(16,1): Best value when land on the origin at index 20: 1
          M(16,1): Returning 2
        M(12,2): Best value when land on the origin at index 16: 3
        M(12,2): # Changes to land on the origin at index 18: 1
        M(12,2): Calling M(18,1).
          M(18,1) called.  Cache key = 5419
          Found in the cache.  Returning 1
        M(12,2): Best value when land on the origin at index 18: 2
        M(12,2): # Changes to land on the origin at index 20: 1
        M(12,2): Calling M(20,1).
          M(20,1) called.  Cache key = 6021
          Found in the cache.  Returning 0
        M(12,2): Best value when land on the origin at index 20: 1
        M(12,2): Returning 3
      M(6,2): Best value when land on the origin at index 12: 4
      M(6,2): # Changes to land on the origin at index 14: 1
      M(6,2): Calling M(14,1).
        M(14,1) called.  Cache key = 4215
        Found in the cache.  Returning 2
      M(6,2): Best value when land on the origin at index 14: 3
      M(6,2): # Changes to land on the origin at index 16: 1
      M(6,2): Calling M(16,1).
        M(16,1) called.  Cache key = 4817
        Found in the cache.  Returning 2
      M(6,2): Best value when land on the origin at index 16: 3
      M(6,2): # Changes to land on the origin at index 18: 1
      M(6,2): Calling M(18,1).
        M(18,1) called.  Cache key = 5419
        Found in the cache.  Returning 1
      M(6,2): Best value when land on the origin at index 18: 2
      M(6,2): # Changes to land on the origin at index 20: 1
      M(6,2): Calling M(20,1).
        M(20,1) called.  Cache key = 6021
        Found in the cache.  Returning 0
      M(6,2): Best value when land on the origin at index 20: 1
      M(6,2): Returning 5
    M(4,2): Best value when land on the origin at index 6: 6
    M(4,2): Found a new max: 6
    M(4,2): # Changes to land on the origin at index 8: 1
    M(4,2): Calling M(8,1).
      M(8,1) called.  Cache key = 2409
      Found in the cache.  Returning 4
    M(4,2): Best value when land on the origin at index 8: 5
    M(4,2): # Changes to land on the origin at index 10: 1
    M(4,2): Calling M(10,1).
      M(10,1) called.  Cache key = 3011
      Found in the cache.  Returning 3
    M(4,2): Best value when land on the origin at index 10: 4
    M(4,2): # Changes to land on the origin at index 12: 0
    M(4,2): Calling M(12,2).
      M(12,2) called.  Cache key = 3614
      Found in the cache.  Returning 3
    M(4,2): Best value when land on the origin at index 12: 4
    M(4,2): # Changes to land on the origin at index 14: 1
    M(4,2): Calling M(14,1).
      M(14,1) called.  Cache key = 4215
      Found in the cache.  Returning 2
    M(4,2): Best value when land on the origin at index 14: 3
    M(4,2): # Changes to land on the origin at index 16: 1
    M(4,2): Calling M(16,1).
      M(16,1) called.  Cache key = 4817
      Found in the cache.  Returning 2
    M(4,2): Best value when land on the origin at index 16: 3
    M(4,2): # Changes to land on the origin at index 18: 1
    M(4,2): Calling M(18,1).
      M(18,1) called.  Cache key = 5419
      Found in the cache.  Returning 1
    M(4,2): Best value when land on the origin at index 18: 2
    M(4,2): # Changes to land on the origin at index 20: 1
    M(4,2): Calling M(20,1).
      M(20,1) called.  Cache key = 6021
      Found in the cache.  Returning 0
    M(4,2): Best value when land on the origin at index 20: 1
    M(4,2): Returning 6
  M(2,3): Best value when land on the origin at index 4: 7
  M(2,3): Found a new max: 7
  M(2,3): # Changes to land on the origin at index 6: 1
  M(2,3): Calling M(6,2).
    M(6,2) called.  Cache key = 1808
    Found in the cache.  Returning 5
  M(2,3): Best value when land on the origin at index 6: 6
  M(2,3): # Changes to land on the origin at index 8: 1
  M(2,3): Calling M(8,2).
    M(8,2) called.  Cache key = 2410
    M(8,2): # Changes to land on the origin at index 10: 0
    M(8,2): Calling M(10,2).
      M(10,2) called.  Cache key = 3012
      M(10,2): # Changes to land on the origin at index 12: 1
      M(10,2): Calling M(12,1).
        M(12,1) called.  Cache key = 3613
        M(12,1): # Changes to land on the origin at index 14: 1
        M(12,1): Calling M(14,0).
          M(14,0) called.  Cache key = 4214
          M(14,0): Calculated directly since cl == 0: Returning 2
        M(12,1): Best value when land on the origin at index 14: 3
        M(12,1): Found a new max: 3
        M(12,1): # Changes to land on the origin at index 16: 1
        M(12,1): Calling M(16,0).
          M(16,0) called.  Cache key = 4816
          Found in the cache.  Returning 0
        M(12,1): Best value when land on the origin at index 16: 1
        M(12,1): # Changes to land on the origin at index 18: 1
        M(12,1): Calling M(18,0).
          M(18,0) called.  Cache key = 5418
          Found in the cache.  Returning 1
        M(12,1): Best value when land on the origin at index 18: 2
        M(12,1): # Changes to land on the origin at index 20: 1
        M(12,1): Calling M(20,0).
          M(20,0) called.  Cache key = 6020
          Found in the cache.  Returning 0
        M(12,1): Best value when land on the origin at index 20: 1
        M(12,1): Returning 3
      M(10,2): Best value when land on the origin at index 12: 4
      M(10,2): Found a new max: 4
      M(10,2): # Changes to land on the origin at index 14: 0
      M(10,2): Calling M(14,2).
        M(14,2) called.  Cache key = 4216
        M(14,2): # Changes to land on the origin at index 16: 1
        M(14,2): Calling M(16,1).
          M(16,1) called.  Cache key = 4817
          Found in the cache.  Returning 2
        M(14,2): Best value when land on the origin at index 16: 3
        M(14,2): Found a new max: 3
        M(14,2): # Changes to land on the origin at index 18: 0
        M(14,2): Calling M(18,2).
          M(18,2) called.  Cache key = 5420
          M(18,2): # Changes to land on the origin at index 20: 0
          M(18,2): Calling M(20,2).
            M(20,2) called.  Cache key = 6022
            M(20,2): Returning 0
          M(18,2): Best value when land on the origin at index 20: 1
          M(18,2): Found a new max: 1
          M(18,2): Returning 1
        M(14,2): Best value when land on the origin at index 18: 2
        M(14,2): # Changes to land on the origin at index 20: 0
        M(14,2): Calling M(20,2).
          M(20,2) called.  Cache key = 6022
          Found in the cache.  Returning 0
        M(14,2): Best value when land on the origin at index 20: 1
        M(14,2): Returning 3
      M(10,2): Best value when land on the origin at index 14: 4
      M(10,2): # Changes to land on the origin at index 16: 1
      M(10,2): Calling M(16,1).
        M(16,1) called.  Cache key = 4817
        Found in the cache.  Returning 2
      M(10,2): Best value when land on the origin at index 16: 3
      M(10,2): # Changes to land on the origin at index 18: 0
      M(10,2): Calling M(18,2).
        M(18,2) called.  Cache key = 5420
        Found in the cache.  Returning 1
      M(10,2): Best value when land on the origin at index 18: 2
      M(10,2): # Changes to land on the origin at index 20: 0
      M(10,2): Calling M(20,2).
        M(20,2) called.  Cache key = 6022
        Found in the cache.  Returning 0
      M(10,2): Best value when land on the origin at index 20: 1
      M(10,2): Returning 4
    M(8,2): Best value when land on the origin at index 10: 5
    M(8,2): Found a new max: 5
    M(8,2): # Changes to land on the origin at index 12: 1
    M(8,2): Calling M(12,1).
      M(12,1) called.  Cache key = 3613
      Found in the cache.  Returning 3
    M(8,2): Best value when land on the origin at index 12: 4
    M(8,2): # Changes to land on the origin at index 14: 0
    M(8,2): Calling M(14,2).
      M(14,2) called.  Cache key = 4216
      Found in the cache.  Returning 3
    M(8,2): Best value when land on the origin at index 14: 4
    M(8,2): # Changes to land on the origin at index 16: 1
    M(8,2): Calling M(16,1).
      M(16,1) called.  Cache key = 4817
      Found in the cache.  Returning 2
    M(8,2): Best value when land on the origin at index 16: 3
    M(8,2): # Changes to land on the origin at index 18: 0
    M(8,2): Calling M(18,2).
      M(18,2) called.  Cache key = 5420
      Found in the cache.  Returning 1
    M(8,2): Best value when land on the origin at index 18: 2
    M(8,2): # Changes to land on the origin at index 20: 0
    M(8,2): Calling M(20,2).
      M(20,2) called.  Cache key = 6022
      Found in the cache.  Returning 0
    M(8,2): Best value when land on the origin at index 20: 1
    M(8,2): Returning 5
  M(2,3): Best value when land on the origin at index 8: 6
  M(2,3): # Changes to land on the origin at index 10: 1
  M(2,3): Calling M(10,2).
    M(10,2) called.  Cache key = 3012
    Found in the cache.  Returning 4
  M(2,3): Best value when land on the origin at index 10: 5
  M(2,3): # Changes to land on the origin at index 12: 1
  M(2,3): Calling M(12,2).
    M(12,2) called.  Cache key = 3614
    Found in the cache.  Returning 3
  M(2,3): Best value when land on the origin at index 12: 4
  M(2,3): # Changes to land on the origin at index 14: 1
  M(2,3): Calling M(14,2).
    M(14,2) called.  Cache key = 4216
    Found in the cache.  Returning 3
  M(2,3): Best value when land on the origin at index 14: 4
  M(2,3): # Changes to land on the origin at index 16: 1
  M(2,3): Calling M(16,2).
    M(16,2) called.  Cache key = 4818
    M(16,2): # Changes to land on the origin at index 18: 1
    M(16,2): Calling M(18,1).
      M(18,1) called.  Cache key = 5419
      Found in the cache.  Returning 1
    M(16,2): Best value when land on the origin at index 18: 2
    M(16,2): Found a new max: 2
    M(16,2): # Changes to land on the origin at index 20: 1
    M(16,2): Calling M(20,1).
      M(20,1) called.  Cache key = 6021
      Found in the cache.  Returning 0
    M(16,2): Best value when land on the origin at index 20: 1
    M(16,2): Returning 2
  M(2,3): Best value when land on the origin at index 16: 3
  M(2,3): # Changes to land on the origin at index 18: 1
  M(2,3): Calling M(18,2).
    M(18,2) called.  Cache key = 5420
    Found in the cache.  Returning 1
  M(2,3): Best value when land on the origin at index 18: 2
  M(2,3): # Changes to land on the origin at index 20: 1
  M(2,3): Calling M(20,2).
    M(20,2) called.  Cache key = 6022
    Found in the cache.  Returning 0
  M(2,3): Best value when land on the origin at index 20: 1
  M(2,3): Returning 7
M(0,4): Best value when land on the origin at index 2: 8
M(0,4): Found a new max: 8
M(0,4): # Changes to land on the origin at index 4: 0
M(0,4): Calling M(4,4).
  M(4,4) called.  Cache key = 1208
  M(4,4): # Changes to land on the origin at index 6: 0
  M(4,4): Calling M(6,4).
    M(6,4) called.  Cache key = 1810
    M(6,4): # Changes to land on the origin at index 8: 1
    M(6,4): Calling M(8,3).
      M(8,3) called.  Cache key = 2411
      M(8,3): # Changes to land on the origin at index 10: 0
      M(8,3): Calling M(10,3).
        M(10,3) called.  Cache key = 3013
        M(10,3): # Changes to land on the origin at index 12: 1
        M(10,3): Calling M(12,2).
          M(12,2) called.  Cache key = 3614
          Found in the cache.  Returning 3
        M(10,3): Best value when land on the origin at index 12: 4
        M(10,3): Found a new max: 4
        M(10,3): # Changes to land on the origin at index 14: 0
        M(10,3): Calling M(14,3).
          M(14,3) called.  Cache key = 4217
          M(14,3): # Changes to land on the origin at index 16: 1
          M(14,3): Calling M(16,2).
            M(16,2) called.  Cache key = 4818
            Found in the cache.  Returning 2
          M(14,3): Best value when land on the origin at index 16: 3
          M(14,3): Found a new max: 3
          M(14,3): # Changes to land on the origin at index 18: 0
          M(14,3): Calling M(18,3).
            M(18,3) called.  Cache key = 5421
            M(18,3): # Changes to land on the origin at index 20: 0
            M(18,3): Calling M(20,3).
              M(20,3) called.  Cache key = 6023
              M(20,3): Returning 0
            M(18,3): Best value when land on the origin at index 20: 1
            M(18,3): Found a new max: 1
            M(18,3): Returning 1
          M(14,3): Best value when land on the origin at index 18: 2
          M(14,3): # Changes to land on the origin at index 20: 0
          M(14,3): Calling M(20,3).
            M(20,3) called.  Cache key = 6023
            Found in the cache.  Returning 0
          M(14,3): Best value when land on the origin at index 20: 1
          M(14,3): Returning 3
        M(10,3): Best value when land on the origin at index 14: 4
        M(10,3): # Changes to land on the origin at index 16: 1
        M(10,3): Calling M(16,2).
          M(16,2) called.  Cache key = 4818
          Found in the cache.  Returning 2
        M(10,3): Best value when land on the origin at index 16: 3
        M(10,3): # Changes to land on the origin at index 18: 0
        M(10,3): Calling M(18,3).
          M(18,3) called.  Cache key = 5421
          Found in the cache.  Returning 1
        M(10,3): Best value when land on the origin at index 18: 2
        M(10,3): # Changes to land on the origin at index 20: 0
        M(10,3): Calling M(20,3).
          M(20,3) called.  Cache key = 6023
          Found in the cache.  Returning 0
        M(10,3): Best value when land on the origin at index 20: 1
        M(10,3): Returning 4
      M(8,3): Best value when land on the origin at index 10: 5
      M(8,3): Found a new max: 5
      M(8,3): # Changes to land on the origin at index 12: 1
      M(8,3): Calling M(12,2).
        M(12,2) called.  Cache key = 3614
        Found in the cache.  Returning 3
      M(8,3): Best value when land on the origin at index 12: 4
      M(8,3): # Changes to land on the origin at index 14: 0
      M(8,3): Calling M(14,3).
        M(14,3) called.  Cache key = 4217
        Found in the cache.  Returning 3
      M(8,3): Best value when land on the origin at index 14: 4
      M(8,3): # Changes to land on the origin at index 16: 1
      M(8,3): Calling M(16,2).
        M(16,2) called.  Cache key = 4818
        Found in the cache.  Returning 2
      M(8,3): Best value when land on the origin at index 16: 3
      M(8,3): # Changes to land on the origin at index 18: 0
      M(8,3): Calling M(18,3).
        M(18,3) called.  Cache key = 5421
        Found in the cache.  Returning 1
      M(8,3): Best value when land on the origin at index 18: 2
      M(8,3): # Changes to land on the origin at index 20: 0
      M(8,3): Calling M(20,3).
        M(20,3) called.  Cache key = 6023
        Found in the cache.  Returning 0
      M(8,3): Best value when land on the origin at index 20: 1
      M(8,3): Returning 5
    M(6,4): Best value when land on the origin at index 8: 6
    M(6,4): Found a new max: 6
    M(6,4): # Changes to land on the origin at index 10: 1
    M(6,4): Calling M(10,3).
      M(10,3) called.  Cache key = 3013
      Found in the cache.  Returning 4
    M(6,4): Best value when land on the origin at index 10: 5
    M(6,4): # Changes to land on the origin at index 12: 0
    M(6,4): Calling M(12,4).
      M(12,4) called.  Cache key = 3616
      M(12,4): # Changes to land on the origin at index 14: 1
      M(12,4): Calling M(14,3).
        M(14,3) called.  Cache key = 4217
        Found in the cache.  Returning 3
      M(12,4): Best value when land on the origin at index 14: 4
      M(12,4): Found a new max: 4
      M(12,4): # Changes to land on the origin at index 16: 1
      M(12,4): Calling M(16,3).
        M(16,3) called.  Cache key = 4819
        M(16,3): # Changes to land on the origin at index 18: 1
        M(16,3): Calling M(18,2).
          M(18,2) called.  Cache key = 5420
          Found in the cache.  Returning 1
        M(16,3): Best value when land on the origin at index 18: 2
        M(16,3): Found a new max: 2
        M(16,3): # Changes to land on the origin at index 20: 1
        M(16,3): Calling M(20,2).
          M(20,2) called.  Cache key = 6022
          Found in the cache.  Returning 0
        M(16,3): Best value when land on the origin at index 20: 1
        M(16,3): Returning 2
      M(12,4): Best value when land on the origin at index 16: 3
      M(12,4): # Changes to land on the origin at index 18: 1
      M(12,4): Calling M(18,3).
        M(18,3) called.  Cache key = 5421
        Found in the cache.  Returning 1
      M(12,4): Best value when land on the origin at index 18: 2
      M(12,4): # Changes to land on the origin at index 20: 1
      M(12,4): Calling M(20,3).
        M(20,3) called.  Cache key = 6023
        Found in the cache.  Returning 0
      M(12,4): Best value when land on the origin at index 20: 1
      M(12,4): Returning 4
    M(6,4): Best value when land on the origin at index 12: 5
    M(6,4): # Changes to land on the origin at index 14: 1
    M(6,4): Calling M(14,3).
      M(14,3) called.  Cache key = 4217
      Found in the cache.  Returning 3
    M(6,4): Best value when land on the origin at index 14: 4
    M(6,4): # Changes to land on the origin at index 16: 1
    M(6,4): Calling M(16,3).
      M(16,3) called.  Cache key = 4819
      Found in the cache.  Returning 2
    M(6,4): Best value when land on the origin at index 16: 3
    M(6,4): # Changes to land on the origin at index 18: 1
    M(6,4): Calling M(18,3).
      M(18,3) called.  Cache key = 5421
      Found in the cache.  Returning 1
    M(6,4): Best value when land on the origin at index 18: 2
    M(6,4): # Changes to land on the origin at index 20: 1
    M(6,4): Calling M(20,3).
      M(20,3) called.  Cache key = 6023
      Found in the cache.  Returning 0
    M(6,4): Best value when land on the origin at index 20: 1
    M(6,4): Returning 6
  M(4,4): Best value when land on the origin at index 6: 7
  M(4,4): Found a new max: 7
  M(4,4): # Changes to land on the origin at index 8: 1
  M(4,4): Calling M(8,3).
    M(8,3) called.  Cache key = 2411
    Found in the cache.  Returning 5
  M(4,4): Best value when land on the origin at index 8: 6
  M(4,4): # Changes to land on the origin at index 10: 1
  M(4,4): Calling M(10,3).
    M(10,3) called.  Cache key = 3013
    Found in the cache.  Returning 4
  M(4,4): Best value when land on the origin at index 10: 5
  M(4,4): # Changes to land on the origin at index 12: 0
  M(4,4): Calling M(12,4).
    M(12,4) called.  Cache key = 3616
    Found in the cache.  Returning 4
  M(4,4): Best value when land on the origin at index 12: 5
  M(4,4): # Changes to land on the origin at index 14: 1
  M(4,4): Calling M(14,3).
    M(14,3) called.  Cache key = 4217
    Found in the cache.  Returning 3
  M(4,4): Best value when land on the origin at index 14: 4
  M(4,4): # Changes to land on the origin at index 16: 1
  M(4,4): Calling M(16,3).
    M(16,3) called.  Cache key = 4819
    Found in the cache.  Returning 2
  M(4,4): Best value when land on the origin at index 16: 3
  M(4,4): # Changes to land on the origin at index 18: 1
  M(4,4): Calling M(18,3).
    M(18,3) called.  Cache key = 5421
    Found in the cache.  Returning 1
  M(4,4): Best value when land on the origin at index 18: 2
  M(4,4): # Changes to land on the origin at index 20: 1
  M(4,4): Calling M(20,3).
    M(20,3) called.  Cache key = 6023
    Found in the cache.  Returning 0
  M(4,4): Best value when land on the origin at index 20: 1
  M(4,4): Returning 7
M(0,4): Best value when land on the origin at index 4: 8
M(0,4): # Changes to land on the origin at index 6: 0
M(0,4): Calling M(6,4).
  M(6,4) called.  Cache key = 1810
  Found in the cache.  Returning 6
M(0,4): Best value when land on the origin at index 6: 7
M(0,4): # Changes to land on the origin at index 8: 1
M(0,4): Calling M(8,3).
  M(8,3) called.  Cache key = 2411
  Found in the cache.  Returning 5
M(0,4): Best value when land on the origin at index 8: 6
M(0,4): # Changes to land on the origin at index 10: 1
M(0,4): Calling M(10,3).
  M(10,3) called.  Cache key = 3013
  Found in the cache.  Returning 4
M(0,4): Best value when land on the origin at index 10: 5
M(0,4): # Changes to land on the origin at index 12: 0
M(0,4): Calling M(12,4).
  M(12,4) called.  Cache key = 3616
  Found in the cache.  Returning 4
M(0,4): Best value when land on the origin at index 12: 5
M(0,4): # Changes to land on the origin at index 14: 1
M(0,4): Calling M(14,3).
  M(14,3) called.  Cache key = 4217
  Found in the cache.  Returning 3
M(0,4): Best value when land on the origin at index 14: 4
M(0,4): # Changes to land on the origin at index 16: 1
M(0,4): Calling M(16,3).
  M(16,3) called.  Cache key = 4819
  Found in the cache.  Returning 2
M(0,4): Best value when land on the origin at index 16: 3
M(0,4): # Changes to land on the origin at index 18: 1
M(0,4): Calling M(18,3).
  M(18,3) called.  Cache key = 5421
  Found in the cache.  Returning 1
M(0,4): Best value when land on the origin at index 18: 2
M(0,4): # Changes to land on the origin at index 20: 1
M(0,4): Calling M(20,3).
  M(20,3) called.  Cache key = 6023
  Found in the cache.  Returning 0
M(0,4): Best value when land on the origin at index 20: 1
M(0,4): Returning 8
8