write a go solution for 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<=n<=600, 0<=qm<=qfracn(n-1)2). Each of the following m lines contains three integers u, v and w (1<=u,v<=n, uneqv, 1<=w<=10^9), denoting an edge connecting vertices u and v and having a weight w. The following line contains the only integer q (1<=q<=fracn(n-1)2) denoting the number of triples. Each of the following q lines contains three integers u, v and l (1<=u,v<=n, uneqv, 1<=l<=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. Note: 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<=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.. Output only the code with no comments, explanation, or additional text.