public void solve() {
        ArrayList<int[]> prePSemiFlows = getPSemiFlows();
        ArrayList<int[]> finalPSemiFlows = new ArrayList<int[]>();
        for (int i = 1; i < prePSemiFlows.size(); i++) {
            Set<Set<int[]>> subSetSemiFlows = getCombinationsFor(prePSemiFlows, i);
            for (Set<int[]> set : subSetSemiFlows) {
                int[] newPSemiFlow = new int[listOfRows.get(0).getpSemiflow().length];
                for (int[] prePSemiFlow : set) {
                    newPSemiFlow = vectorAddition(newPSemiFlow, prePSemiFlow);
                }
                finalPSemiFlows.add(newPSemiFlow);
            }
        }
        System.out.println("---------------------------------------------");
        for (int i = 0; i < finalPSemiFlows.size(); i++) {
            System.out.print(i + ") ");
            for (int j = 0; j < finalPSemiFlows.get(i).length; j++) {
                System.out.print(" " + finalPSemiFlows.get(i)[j]);
            }
            System.out.println();
        }
        int[] summed = new int[finalPSemiFlows.get(0).length];
        for (int i = 0; i < finalPSemiFlows.size(); i++) {
            summed = sumRows(summed, finalPSemiFlows.get(i));
        }
        /*
        System.out.println("---------------------------------------------");
        for (int j = 0; j < summed.length; j++) {
            System.out.print(" " + summed[j]);
        }
        System.out.println();
        System.out.println("IDEM DALEJ");
        //getReducedPSemiFlows(finalPSemiFlows);
*/
        
        
    }