#include #include #include #include #include #include using namespace std; struct edge{ int from,to,cost,num; }; vector >es; vector d; vector ans; bool used[1010]; void dfs(int v,int k,int maxk){ if(k == maxk){ ans.push_back(v); return; } for(int i=0;i> n >> m >> k; es.resize(n); for(int i=0;i> a >> b >> c; a--;b--; es[a].push_back((edge){a,b,c,i}); es[b].push_back((edge){b,a,c,i}); } d.resize(k); for(int i=0;i> d[i]; } for(int i=0;i ret; int pre = -1; for(int i=0;i