AT_pakencamp_2023_day1_h Winter Road

Description

パ研王国には $ N $ 個の村と $ M $ 本の道路があります。 $ i\ (1 \le i \le M) $ 本目の道路は村 $ A_i, B_i $ を双方向に結んでいて、どの状態であっても渡るのに $ 1 $ 分かかります。 最初、すべての道路に氷が張ってあります。 $ C_i = -1 $ の場合は氷はとけず、 $ 1 \le C_i $ の場合、 $ C_i $ 分後に氷がとけます。 国王であるパケン君は最初村 $ 1 $ にいて、道路を何本か通ることで村 $ N $ まで移動したいです。パケン君は任意の村で待機することもできます。また、パケン君は用心深いため、氷の張ってある道をなるべく通りたくないです。氷の張ってある道を通る時間を最小化して街 $ N $ に移動するとき、かかる時間の最小値を求めてください。 ただし、村 $ 1 $ から村 $ N $ まで道路を何本か使い到達できることは保証されます。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ A_1 $ $ B_1 $ $ C_1 $ $ A_2 $ $ B_2 $ $ C_2 $ $ \vdots $ $ A_M $ $ B_M $ $ C_M $

Output Format

単位を分として、かかる時間の最小値を出力せよ。

Explanation/Hint

### Sample Explanation 1 村 $ 1 $ から直接村 $ 3 $ に行くと、かかる時間は $ 1 $ 分ですが氷の道を必ず通ることとなります 。 しかし、村 $ 2 $ を経由することで氷の道を通らず村 $ 3 $ に行くことができます。この場合パケン君は村 $ 1 $ で $ 3 $ 分待機する必要があります。 ### Constraints - $ 2 \leq N \leq 2\times 10^5 $ - $ N-1 \leq M \leq \min(\frac{N(N-1)}{2} , 2\times 10^5) $ - $ 1 \le A_i < B_i \le N $ - $ 1 \le i < j \le N $ について、 $ (A_i,B_i)\neq (A_j,B_j) $ - $ C_i=-1 $ または $ 1 \le C_i \le 10^9 $ - 入力は全て整数 - 村 $ 1 $ から村 $ N $ まで道路を何本か使い到達できる