#include //#include using namespace std; //using namespace atcoder; using ll = long long; //using mint = modint998244353; template using pq = priority_queue, greater>; int main(){ cin.tie(nullptr); ios_base::sync_with_stdio(false); ll N, M, K; cin >> N >> M >> K; vector C(M); for (int i=0; i> C[i]; vector>> E(N); for (int i=0; i> u >> v; u--; v--; E[u].push_back({v, C[i]}); E[v].push_back({u, C[i]}); } vector vst(N, vector(K+1)); vector dist(N, vector(K+1, 1e18)); pq> que; dist[0][0] = 0; que.push({0, 0, 0}); while(!que.empty()){ auto [d, from, num] = que.top(); que.pop(); if (vst[from][num]) continue; vst[from][num] = 1; for (auto [to, c] : E[from]){ if (d+c