private static void optionH(int destinationID) {
		
		//================== option h.====================
        System.out.println("====== h. ========"); 
        if (theID == -1) theID = (int)(Math.random()*(N+1)); // if user didn't specify the current city
        int ids = theID ; // the source id = setid
        int idt = destinationID; // the destination id number - scan from the client
        System.out.println("Find the shortest path from " + ids + " to " + idt + " : ");
        System.out.println();
        DijkstraSP sp = new DijkstraSP(G, ids);
        if (sp.hasPathTo(idt)) {
        	System.out.printf("%d to %d (%.2f)  ", ids, idt, sp.distTo(idt));
        	//System.out.flush();
        	System.out.println();
        	if (sp.hasPathTo(idt)) {
                for (DirectedEdge e1 : sp.pathTo(idt)) {
                	System.out.println( st.get(e1.from())[1] + " -> " +st.get(e1.to())[1]);
                    System.out.println(e1 + "   ");
                    
                }    
        	}    
        } else {System.out.println("No path found");}
        System.out.println();
        System.out.println("=================================");
		
	}