I imeimi PS archive

운전 브이로그

시간
2000ms
메모리
1536MB

문제

메시는 운전 브이로그를 BOJ티비에 올려 유명해지려고 한다. 메시가 사는 도시는 nn개의 건물과 mm개의 일방통행 도로로 이루어져 있다. 메시가 촬영을 시작하면 메시의 팬들이 몰려들기 때문에, 메시가 촬영을 시작한 후 TT시간 뒤에 ii번 도로에 진입하면 그 도로를 지나가는데 T+CiT+C_i시간이 걸린다.

메시는 n2n^2개의 영상을 촬영할 예정이다. (i1)n+j(i-1)n+j번째 영상은 ii번 건물에서 출발하여 정확히 jj개의 도로를 지나 메시의 집인 nn번 건물에 도착하는 영상이다. (1i,jn)(1 \le i, j \le n) 하나의 영상에서 동일한 도로를 여러 번 지날 수도 있으며, nn번 건물에 도착했다고 해서 촬영을 끝낼 필요는 없다. 메시는 빨리 촬영을 끝내고 싶어서 조건을 만족하는 경로 중 가장 빠른 경로를 사용할 것이다. 만약 그러한 경로가 없다면, 운전 브이로그 대신 사과문 영상이 올라가게 될 것이다.

메시가 촬영한 n2n^2개의 영상을 BOJ티비에 올리면, 팬들이 각 영상에 좋아요나 싫어요를 달게 된다. TT시간짜리 운전 브이로그 영상에는 TT109+710^9+7로 나눈 나머지만큼의 좋아요가 달린다. 사과문에는 싫어요가 11개 달린다. 메시가 사는 도시의 모습을 보고 메시가 총 몇 개의 좋아요와 싫어요를 받게 될지 계산해보자.

입력

입력의 첫 줄에 정수 n,mn, m이 주어진다.

이후 mm개의 줄에 걸쳐 정수 Ai,Bi,CiA_i, B_i, C_i가 주어진다. ii번 도로는 AiA_i번 건물에서 BiB_i번 건물으로 가는 도로이다. (1im)(1 \le i \le m)

출력

첫째 줄에 메시가 받을 (좋아요의 개수) - (싫어요의 개수)를 출력한다.

제한

  • 1n30001 \le n \le 3\,000

  • 0m100000 \le m \le 10\,000

  • 1Ai,Bin1 \le A_i, B_i \le n (1im)(1 \le i \le m)

  • 0Ci1080 \le C_i \le 10^{8} (1im)(1 \le i \le m)

입력
4 6
1 2 1
1 3 0
2 3 2
3 1 5
2 4 2
3 4 3
출력
155
입력
7 6
1 2 100000000
2 3 100000000
3 4 100000000
4 5 100000000
5 6 100000000
6 7 100000000
출력
1999999887
입력
1000 0
출력
-1000000

출처

  • 문제를 만든 사람: imeimi2000

  • 문제를 검수한 사람: jhhope1, jhwest2