You are given a flight network with cities and flights. Each flight goes from city to city . You want to find a route from city to city that visits the maximum number of cities. If there is no route from to , output "IMPOSSIBLE".
Otherwise, output the number of cities in the longest route and the route itself. This is a longest path problem on a DAG, but you are maximizing the number of nodes visited, not edge weights.