This application solves two major problems: finding the distance of a given route and finding the routes between two cities that satisfy certain conditions. Naturally, these problems lend themselves to graph processing algorithms Cities are represented in the form of a graph.