编程题
### **问题描述**
在繁华的商业王国中,$N$ 座城市被 $M$ 条商路巧妙地连接在一起,形成了一个错综复杂的无向图网络。每条商路是双向通行的,并且任意两座城市之间最多只有一条直接的商路。每条商路都有它的规则,其中最引人注目的就是穿过商路,需要缴纳过路费。因此,商人们在选择商路时必须格外认真。
有一位名叫小蓝的商人,他对于商路的花费有着自己独到的见解。在小蓝眼中,一条路线包含一条或多条商路,但路线的成本并不是沿途累积的过路费总和,而是这条路线上**最贵**的那一次收费。这个标准简单而直接,让他能迅速评估出一条路线是否划算。
于是,他设立了一个目标,即找出所有城市对,这些城市之间的最低路线成本介于他心中预设的两个数 $L$ 和 $R$ 之间。他相信,这样的路线既不会太廉价,以至于路况糟糕;也不会过于昂贵,伤害他精打细算的荷包。
作为小蓝的助手,请你帮助小蓝统计出所有满足条件的城市对数量。
### **输入格式**
第一行包含四个整数 $N,M,L,R$,表示有 $N$ 座城市和 $M$ 条双向通行的商路,以及小蓝心中预设的最高过路费的下限 $L$ 和上限 $R$。
接下来 $M$ 行,每行包含三个整数 $u,v,w$,表示城市 $u$ 和城市 $v$ 之间有一条双向通行的商路,过路费为 $w$。保证每对城市之间最多只有一条直接的商路。
### **输出格式**
输出仅一行,包含一个整数,表示满足条件的城市对数量。
### **样例输入**
```text
5 5 1 2
1 2 2
1 3 5
1 4 1
2 4 5
2 5 4
```
### **样例输出**
```text
3
```
### **样例说明**
在样例中,满足条件的城市对有 $(1,2)$,$(1,4)$,$(2,4)$。
### **评测用例规模与约定**
对于 $30\\%$ 的评测用例,$1 \leq N \leq 10^3$,$1\leq M \leq \min(2\times10^3 , \frac{N\times (N-1)}{2})$,$1\leq L\leq R \leq 10^5$,$1\leq u,v \leq N, u\neq v$,$1\leq w \leq 10^5$。
对于所有评测用例,$1\leq N \leq 10^5$,$1\leq M \leq \min(2\times 10^5, \frac{N\times (N-1)}{2})$,$1\leq L\leq R \leq 10^9$,$1\leq u,v \leq N, u\neq v$,$1\leq w \leq 10^9$。