100 atcoder#ARC061C. [ARC061E] すぬけ君の地下鉄旅行

[ARC061E] すぬけ君の地下鉄旅行

Score : 600600 points

Problem Statement

Snuke's town has a subway system, consisting of NN stations and MM railway lines. The stations are numbered 11 through NN. Each line is operated by a company. Each company has an identification number.

The ii-th ( 1iM1 \leq i \leq M ) line connects station pip_i and qiq_i bidirectionally. There is no intermediate station. This line is operated by company cic_i.

You can change trains at a station where multiple lines are available.

The fare system used in this subway system is a bit strange. When a passenger only uses lines that are operated by the same company, the fare is 11 yen (the currency of Japan). Whenever a passenger changes to a line that is operated by a different company from the current line, the passenger is charged an additional fare of 11 yen. In a case where a passenger who changed from some company A's line to another company's line changes to company A's line again, the additional fare is incurred again.

Snuke is now at station 11 and wants to travel to station NN by subway. Find the minimum required fare.

Constraints

  • 2N1052 \leq N \leq 10^5
  • 0M2×1050 \leq M \leq 2 \times 10^5
  • 1piN1 \leq p_i \leq N (1iM)(1 \leq i \leq M)
  • 1qiN1 \leq q_i \leq N (1iM)(1 \leq i \leq M)
  • 1ci1061 \leq c_i \leq 10^6 (1iM)(1 \leq i \leq M)
  • piqip_i \neq q_i (1iM)(1 \leq i \leq M)

Input

The input is given from Standard Input in the following format:

NN MM

p1p_1 q1q_1 c1c_1

:

pMp_M qMq_M cMc_M

Output

Print the minimum required fare. If it is impossible to get to station NN by subway, print -1 instead.

3 3
1 2 1
2 3 1
3 1 2
1

Use company 11's lines: 112233. The fare is 11 yen.

8 11
1 3 1
1 4 2
2 3 1
2 5 1
3 4 3
3 6 3
3 7 3
4 8 4
5 6 1
6 7 5
7 8 5
2

First, use company 11's lines: 1133225566. Then, use company 55's lines: 667788. The fare is 22 yen.

2 0
-1