private static Map<Integer,Integer> getMinPath(List<String> lines){
        Map<Integer, List<Integer>> adjacencyMap = new HashMap<Integer, List<Integer>>();
        List<Edge> edgeList = new ArrayList<Edge>();
        Map<Integer,Integer> processedVertices = new HashMap<Integer,Integer>();
        Map<Integer,Integer> unprocessedVertices = new HashMap<Integer,Integer>();
        Djikstra dj = new Djikstra();
        for(String line :lines){
            String[] parts = line.split("\\s");
            List<Integer> adjacents = new ArrayList<Integer>();
            //Creating the list of edges
            for(int i=1; i<parts.length; i++){
                String[] nnn = parts[i].split(",");
                edgeList.add(dj.new Edge(Integer.parseInt(parts[0].trim()),Integer.parseInt(nnn[0].trim()),Integer.parseInt(nnn[1].trim())));
            }
            //adjacencyMap.put(Integer.parseInt(parts[0].trim()), adjacents);
            unprocessedVertices.put(Integer.parseInt(parts[0].trim()), 1000000);
        }     
        processedVertices.put(Integer.parseInt((lines.get(0).split("\\s"))[0].trim()),0);
        unprocessedVertices.remove(1);
        //System.out.println(unprocessedVertices);
        //System.out.println(edgeList.get(0));
        for (int i=0;i<lines.size();i++){
            //System.out.println(i);
            int[] arr = new int[2];
            arr[0] = 300;
            arr[1] = 1000000;
            for(Edge edge: edgeList) {
                if (processedVertices.containsKey(edge.n1) && unprocessedVertices.containsKey(edge.n2)) {
                    //System.out.println(edge);
                    if ((edge.length + processedVertices.get(edge.n1)) < arr[1]) {
                        arr[1] = edge.length + processedVertices.get(edge.n1);
                        arr[0] = edge.n2;
                    }
                }        
            }
            //System.out.println("here");
            processedVertices.put(arr[0],arr[1]);
            unprocessedVertices.remove(arr[0]);
        }
        System.out.println(processedVertices);

        /*while(adjacencyMap.size() > 2){
            int[] edge = getRandomEdge(adjacencyMap);
            adjacencyMap = removeEdgeAndContractGraph(adjacencyMap, edge[0], edge[1]);
        }

        List<Integer> vertices = new ArrayList<Integer>(adjacencyMap.keySet());*/
        //System.out.println("size of random cut is: " + adjacencyMap.get((Integer)vertices.get(0)).size());
        //return adjacencyMap.get((Integer)vertices.get(0)).size();
        System.out.print(processedVertices.get(7));
        System.out.print(",");
        System.out.print(processedVertices.get(37));
        System.out.print(",");
        System.out.print(processedVertices.get(59));
        System.out.print(",");
        System.out.print(processedVertices.get(82));
        System.out.print(",");
        System.out.print(processedVertices.get(99));
        System.out.print(",");
        System.out.print(processedVertices.get(115));
        System.out.print(",");
        System.out.print(processedVertices.get(133));
        System.out.print(",");
        System.out.print(processedVertices.get(165));
        System.out.print(",");
        System.out.print(processedVertices.get(188));
        System.out.print(",");
        System.out.print(processedVertices.get(197));
        return processedVertices;
    }