V개의 마을과 E개의 일방통행 도로로 이루어진 도시가 있다. 마을은 1번부터 V번까지 번호가 붙어 있다.
도로를 따라 운동 경로를 잡으려 한다. 운동을 마친 뒤 시작한 마을로 돌아와야 하므로, 하나 이상의 도로를 따라 출발점으로 되돌아오는 사이클을 찾아야 한다. 가능한 사이클 중에서 지나간 도로 길이의 합이 가장 작은 값을 구하라.
두 마을 사이를 서로 반대 방향의 도로로 오가는 경우도 사이클에 포함된다.
첫째 줄에 마을의 수 V와 도로의 수 E가 빈칸을 사이에 두고 주어진다. (2 <= V <= 400, 0 <= E <= V(V-1))
다음 E개의 줄에는 정수 a, b, c가 주어진다. 이는 a번 마을에서 b번 마을로 가는 길이 c의 일방통행 도로를 뜻한다. 거리는 10,000 이하의 자연수이며, 같은 (a, b) 쌍은 두 번 이상 주어지지 않는다.
최소 사이클의 도로 길이 합을 출력한다. 가능한 사이클이 없으면 -1을 출력한다.