Find the longest path in a directed graph such that each vertex appears at most once in the path.
The first line contains two integers and (1 \le n \le 22, 0 \le m \le 1000). Each of the next lines describes an edge of the graph in the format u_i v_i, where u_i and v_i are the starting and ending vertices of the -th edge, respectively. The graph may contain loops and multiple edges.
Output the length of the found path in the first line. In the second line, output l + 1 integers — the vertices in the order they are traversed in the path. If there are several optimal answers, output any of them.
Example 1
Example 2
Example 3