#P1715E. Long Way Home

    ID: 888 Type: RemoteJudge 3000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 9 Uploaded By: Tags>data structuresdivide and conquerdpgeometrygraphsgreedyshortest paths*2400

Long Way Home

Description

Stanley lives in a country that consists of nn cities (he lives in city 11). There are bidirectional roads between some of the cities, and you know how long it takes to ride through each of them. Additionally, there is a flight between each pair of cities, the flight between cities uu and vv takes (uv)2(u - v)^2 time.

Stanley is quite afraid of flying because of watching "Sully: Miracle on the Hudson" recently, so he can take at most kk flights. Stanley wants to know the minimum time of a journey to each of the nn cities from the city 11.

In the first line of input there are three integers nn, mm, and kk (2n1052 \leq n \leq 10^{5}, 1m1051 \leq m \leq 10^{5}, 1k201 \leq k \leq 20) — the number of cities, the number of roads, and the maximal number of flights Stanley can take.

The following mm lines describe the roads. Each contains three integers uu, vv, ww (1u,vn1 \leq u, v \leq n, uvu \neq v, 1w1091 \leq w \leq 10^{9}) — the cities the road connects and the time it takes to ride through. Note that some pairs of cities may be connected by more than one road.

Print nn integers, ii-th of which is equal to the minimum time of traveling to city ii.

Input

In the first line of input there are three integers nn, mm, and kk (2n1052 \leq n \leq 10^{5}, 1m1051 \leq m \leq 10^{5}, 1k201 \leq k \leq 20) — the number of cities, the number of roads, and the maximal number of flights Stanley can take.

The following mm lines describe the roads. Each contains three integers uu, vv, ww (1u,vn1 \leq u, v \leq n, uvu \neq v, 1w1091 \leq w \leq 10^{9}) — the cities the road connects and the time it takes to ride through. Note that some pairs of cities may be connected by more than one road.

Output

Print nn integers, ii-th of which is equal to the minimum time of traveling to city ii.

Sample Input 1

3 1 2
1 3 1

Sample Output 1

0 1 1

Sample Input 2

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

Sample Output 2

0 1 4 6

Sample Input 3

2 1 1
2 1 893746473

Sample Output 3

0 1

Sample Input 4

5 5 2
2 1 33
1 5 93
5 3 48
2 3 21
4 2 1

Sample Output 4

0 1 2 2 3

Note

In the first sample, it takes no time to get to city 1; to get to city 2 it is possible to use a flight between 1 and 2, which will take 1 unit of time; to city 3 you can get via a road from city 1, which will take 1 unit of time.

In the second sample, it also takes no time to get to city 1. To get to city 2 Stanley should use a flight between 1 and 2, which will take 1 unit of time. To get to city 3 Stanley can ride between cities 1 and 2, which will take 3 units of time, and then use a flight between 2 and 3. To get to city 4 Stanley should use a flight between 1 and 2, then take a ride from 2 to 4, which will take 5 units of time.