void eulerLoopPath(int[][] graph, int start, List<Integer> path) {
    for (int i = 0; i < graph.length; i++) {
      if (graph[start][i] > 0) {
        graph[start][i]--;
        graph[i][start]--;
        eulerLoopPath(graph, i, path);
      }
    }
    path.add(start);
  }