@Test public void f() throws Exception { Assert.assertEquals(expected, this.f(input)); }
public int f(int[][] mm) { return f(mm, 0, mm.length - 1); }
MatrixMultOptMemoization { public int f(int[][] mm) { return f(mm, 0, mm.length - 1); } }
MatrixMultOptMemoization { public int f(int[][] mm) { return f(mm, 0, mm.length - 1); }  }
MatrixMultOptMemoization { public int f(int[][] mm) { return f(mm, 0, mm.length - 1); }  int f(int[][] mm); int f(int[][] mm, int i, int j); }
MatrixMultOptMemoization { public int f(int[][] mm) { return f(mm, 0, mm.length - 1); }  int f(int[][] mm); int f(int[][] mm, int i, int j);  }