Write a program which implements the A* algorithm on an arbitrary map described through connections file and locations file. The locations file includes the names of the locations and their x and y positions. The connections file includes how the locations are connected. The algorithm should allow the user to exclude 1 or more cities from the solution path.