Give a linear-time algorithm to find an odd-length cycle in a directed graph. You may NOT assume that the graph is strongly connected. (Hint: First solve this problem under the assumption that the graph is strongly connected. Then show that every directed graph is a DAG of its strongly connected components.)