   Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
Register
Language:
How Many Pairs?
 Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 1914 Accepted: 687 Case Time Limit: 1000MS

Description

You are given an undirected graph G with N vertices and M edges. Each edge has a length. Below are two definitions.

1. Define max_len(p) as the length of the edge with the maximum length of p where p is an arbitrary non-empty path in G.
2. Define min_pair(u, v) as min{max_len(p) | p is a path connecting the vertices u and v.}. If there is no paths connecting u and v, min_pair(u, v) is defined as infinity.

Your task is to count the number of (unordered) pairs of vertices u and v satisfying the condition that min_pair(u, v) is not greater than a given integer A.

Input

The first line of input contains three integer N, M and Q (1 < N ≤ 10,000, 0 < M ≤ 50,000, 0 < Q ≤ 10,000). N is the number of vertices, M is the number of edges and Q is the number of queries. Each of the next M lines contains three integers a, b, and c (1 ≤ a, bN, 0 ≤ c < 108) describing an edge connecting the vertices a and b with length c. Each of the following Q lines gives a query consisting of a single integer A (0 ≤ A < 108).

Output

Output the answer to each query on a separate line.

Sample Input

```4 5 4
1 2 1
2 3 2
2 3 5
3 4 3
4 1 4
0
1
3
2```

Sample Output

```0
1
6
3```

Source

[Submit]   [Go Back]   [Status]   [Discuss] Home Page Go Back To top