public static void main(String args[]) {

		// Build model of metro stations and rail network ...
		MetroSystem ms = new MetroSystem("DC Metro");
		ms.metroStations();
		ms.metroNetwork();
		ms.print();

		// Retrieve and print details of individual metro stations ....
		System.out.println("");
		System.out.println("Metro Station Details");
		System.out.println("=====================");

		System.out.println(ms.stations.get("Greenbelt").toString());
		System.out.println(ms.stations.get("Fort Totten").toString());
		System.out.println(ms.stations.get("L Enfant Plaza").toString());

		// Rail trip: Leg 1. Travel from "College Park" to
		// "National Airport"....
		System.out.println();
		System.out.println("Source: College Park");
		System.out.println("Destination: National Airport");
		System.out.println("==========================================");

		BFSearcher bfs1 = new BFSearcher(ms.metro, "National Airport");
		bfs1.showPath("College Park");

		// Travel distance from "College Park" to "National Airport"....
		String travelPath[] = bfs1.path("Silver Spring");
		double travelDistance = 0.0;
		for (int i = 1; i < travelPath.length; i = i + 1) {
			MetroStation m = (MetroStation) ms.stations.get(travelPath[i]);
			MetroStation n = (MetroStation) ms.stations.get(travelPath[i - 1]);
			travelDistance = travelDistance
					+ Math.sqrt((m.dX - n.dX) * (m.dX - n.dX) + (m.dY - n.dY)
							* (m.dY - n.dY));
		}

		System.out.println();
		System.out.println("Leg 1. Travel Distance = " + travelDistance);
		System.out.println("==========================================");

		// Rail trip: Leg 2. Travel from "National Airport" to
		// "New Carrollton"....
		System.out.println();
		System.out.println("Source: National Airport");
		System.out.println("Destination: New Carrollton");
		System.out.println("==========================================");

		bfs1 = new BFSearcher(ms.metro, "New Carrollton");
		bfs1.showPath("National Airport");

		// Travel distance from "National Airport" to "New Carrollton"....
		String travelPath2[] = bfs1.path("National Airport");
		for (int i = 1; i < travelPath2.length; i = i + 1) {
			MetroStation m = (MetroStation) ms.stations.get(travelPath2[i]);
			MetroStation n = (MetroStation) ms.stations.get(travelPath2[i - 1]);
			travelDistance = travelDistance
					+ Math.sqrt((m.dX - n.dX) * (m.dX - n.dX) + (m.dY - n.dY)
							* (m.dY - n.dY));
		}

		System.out.println();
		System.out.println("Total Travel Distance = " + travelDistance);
		System.out.println("==========================================");
	}