public int maxSet(int[] cost, int[] features, int[] fixTimes){
        n = cost.length;
        graph = new boolean[n][n];
        numbered = new int[n];
        int[] degree = new int[n];
        for(int i=0; i<n; i++){
            for(int j=0; j<n; j++){
                if(cost[i]>cost[j] && features[i]<features[j] && fixTimes[i]>fixTimes[j]){
                    graph[i][j] = true;
                    degree[j]++;
                }
            }
        }

        for(int i=0; i<n; i++){
            if(degree[i]==0){
                visit(i);
            }
        }
        return result;
    }