#arc0253. [arc025_3]ウサギとカメ

[arc025_3]ウサギとカメ

问题说明

兔子和乌龟决定在ARC山上进行比赛。

ARC山上有N个中继点,中继点从1到N编号。此外,存在M条连接不同两个中继点的道路。任意两条不同的道路都不会连接相同的中继点。每条道路都有固定的长度。此外,对于ARC山上的任意两个不同中继点,可以通过经过若干条道路来往。

在比赛中,需要从中继点中选择目标点A、兔子的起点B和乌龟的起点C。A、B和C必须是不同的中继点。比赛开始后,兔子以每秒R米的速度,乌龟以每秒T米的速度前进。

现在想要知道,有多少组(A, B, C)满足乌龟按照最优移动的方式,无论兔子选择哪条路径,都能够比乌龟晚到达目的地。

输入

输入以以下格式从标准输入中给出。

N M R T a1 b1 c1 a2 b2 c2 : aM bM cM

  • 第一行包含中继点个数N(3≤N≤2,500)、道路数量M(2≤M≤3,000)、兔子速度R(1≤R≤200)和乌龟速度T(1≤T≤200),以空格分隔。
  • 第二行到第M+1行描述每条道路的信息。第i行描述了道路i连接的两个中继点ai, bi(1≤ai<bi≤N)和长度ci(1≤ci≤100)。

输出

输出所有满足条件的组合总数,并在末尾换行。

示例1

输入

4 5 2 1
1 2 4
1 3 3
1 4 6
2 3 5
3 4 4

输出

2

有以下两种情况:

  • 当目标点、兔子的起点和乌龟的起点分别是(2, 4, 1)时,乌龟直接向目标点前进,在4秒内到达。然而无论兔子选择哪条路径,都至少需要4.5秒才能到达目标点。
  • 当目标点、兔子的起点和乌龟的起点分别是(4, 3, 2)时,乌龟直接向目标点前进,在4秒内到达。然而无论兔子选择哪条路径,都至少需要4.5秒才能到达目标点。

因此,共有2种情况满足条件。注意,当目标点、兔子的起点和乌龟的起点分别是(1, 4, 3)时,无论兔子和乌龟都需要至少3秒才能到达目标点。当他们以最佳方式移动时,会同时到达,因此不满足条件。

示例2

输入

5 4 7 7
1 2 1
2 3 1
3 4 1
4 5 1

输出

26