#include #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n, k, m; cin >> n >> k >> m; vector>> contacts(k+1); vector lastContact(n+1); while(m--) { int a, b, d; cin >> a >> b >> d; lastContact[a] = max(lastContact[a], d); lastContact[b] = max(lastContact[b], d); contacts[d].emplace_back(a, b); } set candidates; for(int i = 1; i <= n; i++) if(lastContact[i] <= 1) candidates.insert(i); for(int d = 1; d <= k; d++) { set cand; for(auto [a, b]: contacts[d]) { if(candidates.count(a) && lastContact[a] == d) cand.insert(b); if(candidates.count(b) && lastContact[b] == d) cand.insert(a); } candidates.swap(cand); } cout << candidates.size() << "\n"; for(auto out: candidates) cout << out << "\n"; }