1. Run Bellman-Ford for n−1 iterations, tracking parent pointers.
2. On the n-th iteration, find any node v where distance improves. If none, no negative cycle exists.
3. Walk back n steps from v using parents to get inside the cycle.
4. From that node, follow parents and collect nodes until you see a repeat. That sequence is the cycle.
5. Output the cycle in correct order by reversing the collected sequence.
The double-walk approach (first n steps to enter cycle, then loop to extract it) guarantees correct cycle extraction.