CF1483D Useful Edges

Description

You are given a weighted undirected graph on $ n $ vertices along with $ q $ triples $ (u, v, l) $ , where in each triple $ u $ and $ v $ are vertices and $ l $ is a positive integer. An edge $ e $ is called useful if there is at least one triple $ (u, v, l) $ and a path (not necessarily simple) with the following properties: - $ u $ and $ v $ are the endpoints of this path, - $ e $ is one of the edges of this path, - the sum of weights of all edges on this path doesn't exceed $ l $ . Please print the number of useful edges in this graph.

Input Format

The first line contains two integers $ n $ and $ m $ ( $ 2\leq n\leq 600 $ , $ 0\leq m\leq \frac{n(n-1)}2 $ ). Each of the following $ m $ lines contains three integers $ u $ , $ v $ and $ w $ ( $ 1\leq u, v\leq n $ , $ u\neq v $ , $ 1\leq w\leq 10^9 $ ), denoting an edge connecting vertices $ u $ and $ v $ and having a weight $ w $ . The following line contains the only integer $ q $ ( $ 1\leq q\leq \frac{n(n-1)}2 $ ) denoting the number of triples. Each of the following $ q $ lines contains three integers $ u $ , $ v $ and $ l $ ( $ 1\leq u, v\leq n $ , $ u\neq v $ , $ 1\leq l\leq 10^9 $ ) denoting a triple $ (u, v, l) $ . It's guaranteed that: - the graph doesn't contain loops or multiple edges; - all pairs $ (u, v) $ in the triples are also different.

Output Format

Print a single integer denoting the number of useful edges in the graph.

Explanation/Hint

In the first example each edge is useful, except the one of weight $ 5 $ . In the second example only edge between $ 1 $ and $ 2 $ is useful, because it belongs to the path $ 1-2 $ , and $ 10 \leq 11 $ . The edge between $ 3 $ and $ 4 $ , on the other hand, is not useful. In the third example both edges are useful, for there is a path $ 1-2-3-2 $ of length exactly $ 5 $ . Please note that the path may pass through a vertex more than once.