Core idea: Find the lexicographically smallest Euler path.
Approach: Sort the adjacency list for each airport alphabetically
Run Hierholzer's algorithm, always picking the smallest available destination
Build the path in reverse (standard Hierholzer)
Why reverse? Hierholzer naturally builds paths from end to start. When you get stuck, you're at the end of the path.
Greedy correctness: Always picking the smallest neighbor works because if it leads to a dead end prematurely, you backtrack and the DFS handles it.