AT_abc237_e [ABC237E] Skiing

Description

[problemUrl]: https://atcoder.jp/contests/abc237/tasks/abc237_e AtCoder スキー場には広場 $ 1 $ 、広場 $ 2 $ 、$ \ldots $ 、広場 $ N $ の $ N $ 個の広場があり、広場 $ i $ の標高は $ H_i $ です。 また、$ 2 $ つの広場を双方向に結ぶ $ M $ 本の坂があり、$ i $ $ (1\ \leq\ i\ \leq\ M) $ 本目の坂は広場 $ U_i $ と広場 $ V_i $ を双方向に結んでいます。どの $ 2 $ つの広場の間もいくつかの坂を使って移動することができます。 高橋君は坂を使うことによってのみ広場の間を移動でき、坂を通るごとに**楽しさ**が変化します。具体的には広場 $ X $ と広場 $ Y $ を直接結ぶ坂を使って広場 $ X $ から広場 $ Y $ まで移動したとき次のように楽しさが変化します。 - 広場 $ X $ が広場 $ Y $ より標高が真に高い場合、その標高差、すなわち $ H_X-H_Y $ だけ楽しさが**増加**する。 - 広場 $ X $ が広場 $ Y $ より標高が真に低い場合、その標高差の $ 2 $ 倍、すなわち $ 2(H_Y-H_X) $ だけ楽しさが**減少**する。 - 広場 $ X $ と広場 $ Y $ の標高が等しい場合、楽しさは変化しない。 楽しさは負の値になることもあります。 最初、高橋君は広場 $ 1 $ におり、楽しさは $ 0 $ です。 高橋君はいくつかの坂( $ 0 $ 本でも良い)を移動した後に好きな広場で行動を終えることができるとしたとき、行動を終えた時点の高橋君の楽しさとしてありうる最大の値を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ H_1 $ $ H_2 $ $ \ldots $ $ H_N $ $ U_1 $ $ V_1 $ $ U_2 $ $ V_2 $ $ \vdots $ $ U_M $ $ V_M $

Output Format

答えを出力せよ。

Explanation/Hint

### 制約 - $ 2\ \leq\ N\ \leq\ 2\times\ 10^5 $ - $ N-1\ \leq\ M\ \leq\ \min(\ 2\times\ 10^5,\frac{N(N-1)}{2}) $ - $ 0\ \leq\ H_i\leq\ 10^8 $ $ (1\ \leq\ i\ \leq\ N) $ - $ 1\ \leq\ U_i\