#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; class Edge { public: int to, cost; Edge(int to, int cost){ this->to = to; this->cost = cost; } }; int main() { int n, m, k; cin >> n >> m >> k; vector > edges(n+1); for(int i=0; i> a >> b >> c; edges[a].push_back(Edge(b, c)); edges[b].push_back(Edge(a, c)); } vector curr(n+1, true); while(--k >= 0){ int d; cin >> d; vector next(n+1, false); for(int i=1; i<=n; ++i){ if(!curr[i]) continue; for(unsigned j=0; j ret; for(int i=1; i<=n; ++i){ if(curr[i]) ret.push_back(i); } cout << ret.size() << endl; cout << ret[0]; for(unsigned i=1; i