В ориентированном графе найдите самый длинный путь такой, что каждая вершина графа встречается в нём не более одного раза.
В первой строке заданы два целых числа n и m (1 ≤ n ≤ 22, 0 ≤ m ≤ 1000). В следующих m строках заданы рёбра графа в формате u[i] v[i]
- номера начальной и конечной вершин ребра i соответственно. Граф может содержать петли и кратные рёбра.
В первой строке выведите длину искомого пути l. Во второй строке выведите l + 1 число - вершины пути в порядке обхода. Если оптимальных ответов несколько, выведите любой из них.