public static boolean verify(In hopIn, In tcIn){
        TC tc = TC.load(tcIn);
        Hop hop = Hop.load(hopIn);
        
        if(tc.getV() != hop.getV()){
            throw new IllegalArgumentException("Number of vertices in TC and Hop must be identical");
        }
        
        for(int i = 0; i < hop.V; i++){
            for(int j = 0; j < hop.V; j++){
                boolean lout_cap_lin = false;
                
                Iterator<Integer> e = hop.labels[i].lout.iterator();
                while(e.hasNext()){
                    int el = e.next();
//                    StdOut.println(el);
                    if(hop.labels[j].lin.contains(el)){
                        lout_cap_lin = true;
                        break;
                    }
                }
                
                if(tc.matrix[i][j] != lout_cap_lin){
                    StdOut.println(i + " " + j + " : NOT match. " + (i< j?"i < j":"i >=j"));
                    if(i < j){
                        StdOut.println(i + " " + j + " : NOT match. " + (i< j?"i < j":"i >=j"));
                    }
                }
                
//                StdOut.println("Lout" + i + " n Lin " + j + ": YES" );
            }
        } 
        
        StdOut.println();
        
        return true;
    }