外での平和と内での協和は美しいものである。
- リューベックのかつての城門の碑文
いくつかの都市が、商人の安全を守り交易を活発にするために貿易同盟を結びました。あなたは同盟の共同基金を管理する会計係です。
同盟は加盟都市間の新たな取引を奨励しようとしています。そのため、異なる 2 つの加盟都市の組ごとに、最初の取引で商品を 1 箱送るための輸送費を一度だけ補助することにしました。
同盟には 個の都市が加盟しており、各都市には 番から 番までの番号が付いています。異なる 2 つの加盟都市の間には、商品を直接輸送できる双方向の交易路があります。都市 から都市 へ商品を 1 箱直接輸送するための費用は、次のとおりです。
最初の行に整数 と が空白区切りで与えられます。
同盟が用意すべき補助金の総額を出力してください。
最初の例では、、、、、、 の最小輸送費はそれぞれ 、、、、、 です。したがって、必要な補助金の総額は です。
ここで、 は非負整数であり、 は を で割った余りを表します。
商品は他の加盟都市を経由して輸送することもできます。1 箱の輸送費は、輸送経路に含まれる各交易路の費用の総和です。商人は輸送費が最小となる経路を選びます。各取引の輸送費は、他の取引とは独立に計算します。
輸送の方向を逆にしても最小輸送費は変わらず、同盟は都市の組ごとに一度だけ補助します。したがって、必要な補助金の総額は、 を満たすすべての組 について、都市 から都市 へ商品を 1 箱輸送するための最小費用を合計した値です。同盟が用意すべき補助金の総額を求めてください。
2 番目の例では、、、 の最小輸送費はそれぞれ 、、 です。したがって、必要な補助金の総額は です。