In this problem, you will implement the depth-first search (DFS) algorithm on an adjacency-array of cities and find the least expensive way to visit all the cities and go back to your starting point. Write a function called Travel with header: function Cost Travel(Map, StartCity) where Map is an N x N symmetric adjacency array, such that Map(i, j) is the cost to travel from city i to city j. Map (i, j) 0 means there is no available path from city i to city j. In addition, StartCity is an integer from 1 to N which defines the starting point of the travel and Cost is the lowest cost of this roundtrip itinerary The itinerary should observe the following rules: Start from Startcity, visit all the cities, and return back to Startcity . Visit each city only once, except, of course, for StartCity that is visited twice (at the beginning and the end of the itinerary). . It is guaranteed that such a round-trip itinerary exists for the given inputs. Your function should be able to reproduce the following test case: 10 0 4 12 8 5 7 30 >> Map- 10 0 15 0 15 0 8 7 12 5 30 6 0]: >[Cost]-Travel (Map, 1) In this problem, you will implement the depth-first search (DFS) algorithm on an adjacency-array of cities and find the least expensive way to visit all the cities and go back to your starting point. Write a function called Travel with header: function Cost Travel(Map, StartCity) where Map is an N x N symmetric adjacency array, such that Map(i, j) is the cost to travel from city i to city j. Map (i, j) 0 means there is no available path from city i to city j. In addition, StartCity is an integer from 1 to N which defines the starting point of the travel and Cost is the lowest cost of this roundtrip itinerary The itinerary should observe the following rules: Start from Startcity, visit all the cities, and return back to Startcity . Visit each city only once, except, of course, for StartCity that is visited twice (at the beginning and the end of the itinerary). . It is guaranteed that such a round-trip itinerary exists for the given inputs. Your function should be able to reproduce the following test case: 10 0 4 12 8 5 7 30 >> Map- 10 0 15 0 15 0 8 7 12 5 30 6 0]: >[Cost]-Travel (Map, 1)