private static void optionG(int closestN) {
		
		//========================== option G  ================
		System.out.println("====== g. ========");
		if (theID == -1) {
			theID = (int)(Math.random()*(N+1)); // if user didn't specify the current city
			System.out.println("The current city ID is set to be : " + theID);
		}
		int ids = theID;		
		int[] resultG2 = new int[closestN];
		//DijkstraSP2 sp2 = new DijkstraSP2(G, ids);
		DijkstraSP sp2 = new DijkstraSP(G, ids);
		resultG2 = sp2.nClosest(closestN, theID);    // the result of G (cityIDs)
		System.out.println("The "+ closestN + " closest cities ID are...");
		for (int i=0;i<resultG2.length;i++){ //start form i=1 since the first closest one is itself
			System.out.println("id: "+resultG2[i] + " - " + st.get(resultG2[i])[1]);
		}
		sp2.cleanQueue(); // in case the option g is chosen again, the result should be 
 
		System.out.println("=================================");
	}