Ceste

1번 도시에서 각 도시로 가는 경로 중 이동 시간의 합과 비용의 합을 곱한 값이 최소가 되는 경로를 찾고, 도달할 수 없으면 -1을 출력한다.

어려움8그래프최단 경로동적 계획법구현아직 제출이 없습니다시간 제한2.5초메모리 제한128 MB

문제

어떤 나라에 도시 NN개와 양방향 도로 MM개가 있다. ii번 도로를 달리면 TiT_i분이 걸리고 CiC_i쿠나가 든다. 쿠나는 크로아티아의 화폐 단위다.

당신은 11번 도시에서 출발한다. 어떤 경로로 이동할 때, 그 경로에 속한 도로의 TiT_i를 모두 더한 값을 총 시간, CiC_i를 모두 더한 값을 총 비용이라고 하자. 경로의 값은 총 시간과 총 비용을 곱한 값이다.

11번 도시를 제외한 각 도시마다, 11번 도시에서 그 도시로 가는 경로의 값 중 최솟값을 구하라. 경로가 없으면 1-1을 출력한다.

입력

첫째 줄에 도시의 수 NN (1N20001 \le N \le 2000)과 도로의 수 MM (1M20001 \le M \le 2000)이 주어진다.

다음 MM개 줄에는 각각 네 정수 AiA_i, BiB_i, TiT_i, CiC_i (1Ai,BiN1 \le A_i, B_i \le N, 1Ti,Ci20001 \le T_i, C_i \le 2000)가 주어진다. 이는 AiA_i번 도시와 BiB_i번 도시를 잇는 도로가 있고, 이 도로를 달리는 데 TiT_i분과 CiC_i쿠나가 든다는 뜻이다.

두 도시를 잇는 도로가 여러 개일 수 있다. 자기 자신을 잇는 도로는 없다.

출력

N1N - 1개 줄을 출력한다. ii번째 줄에는 11번 도시에서 i+1i + 1번 도시로 가는 경로의 값 중 최솟값을 출력한다. 두 도시가 연결되어 있지 않으면 1-1을 출력한다.

힌트

두 번째 예제를 살펴보자.

22번 도시로 가려면 11번 도로를 달린다. 11분과 77쿠나가 들므로 값은 77이다.

33번 도시로 가려면 22번 도로를 달린다. 33분과 22쿠나가 들므로 값은 66이다.

44번 도시로 가려면 22번, 44번, 55번 도로를 순서대로 달린다. 모두 합쳐 1111분과 44쿠나가 들므로 값은 4444이다.