In an oriented graph find the longest path such that each vertex of the graph occurs no more than once in it.
First line contains two integers n and m (1 ≤ n ≤ 22, 0 ≤ m ≤ 1000). Each of the next m lines contains the edges of the graph in format u[i] v[i]
- the numbers of starting and ending vrtices of the edge i. Graph can contain loops and multiedges.
In the first line, output the length of the longest path l. In the second line print l + 1 number - the vertices of the path in the order of traversal. If there are several optimal answers, output any of them.