問題文
N 頂点 M 辺からなるグラフがあり、このグラフの上に高橋くんと青木くんがいます。
グラフの i 番目の辺は頂点 Ui と頂点 Vi を結んでいます。 この辺を通るのにかかる時間は、通る人 (高橋くんまたは青木くん) によらず、また通る方向によらず、Di 分です。
高橋くんは頂点 S を、青木くんは頂点 T を同時に出発し、それぞれ頂点 T および頂点 S へ最短の時間で移動します。 二人の最短路の選び方の組であって、移動の途中で二人が (辺または頂点上で) 出会うことのないようなものの個数を 109+7 で割ったあまりを求めてください。
制約
- 1leqNleq100,000
- 1leqMleq200,000
- 1leqS,TleqN
- SneqT
- 1leqUi,VileqN (1leqileqM)
- 1leqDileq109 (1leqileqM)
- ineqj のとき、(Ui,Vi)neq(Uj,Vj) かつ (Ui,Vi)neq(Vj,Uj)
- UineqVi (1leqileqM)
- Di は整数である
- 与えられるグラフは連結である
入力
入力は以下の形式で標準入力から与えられる。
N M
S T
U1 V1 D1
U2 V2 D2
:
UM VM DM
出力
答えを出力せよ。
入力例 1
4 4
1 3
1 2 1
2 3 1
3 4 1
4 1 1
出力例 1
2
条件を満たす最短路の選び方は以下の 2 通りあります。
- 高橋くんが頂点 1rightarrow2rightarrow3 という経路で、青木くんが頂点 3rightarrow4rightarrow1 という経路で移動する。
- 高橋くんが頂点 1rightarrow4rightarrow3 という経路で、青木くんが頂点 3rightarrow2rightarrow1 という経路で移動する。
入力例 2
3 3
1 3
1 2 1
2 3 1
3 1 2
出力例 2
2
入力例 3
3 3
1 3
1 2 1
2 3 1
3 1 2
出力例 3
2
入力例 4
8 13
4 2
7 3 9
6 2 3
1 6 4
7 6 9
3 8 9
1 2 2
2 8 12
8 6 9
2 5 5
4 2 18
5 3 7
5 1 515371567
4 8 6
出力例 4
6