#include using namespace std; int N; vector< int > g[100000]; map< int, bool > dp[100000]; bool dfs(int idx, int par) { if(dp[idx].count(par)) return dp[idx][par]; for(auto &to : g[idx]) { if(to == par) continue; if(!dfs(to, idx)) return dp[idx][par] = true; } return dp[idx][par] = false; } int main() { cin >> N; for(int i = 1; i < N; i++) { int x, y; cin >> x >> y; --x, --y; g[x].push_back(y); g[y].push_back(x); } vector< int > ans; for(int i = 0; i < N; i++) { if(!dfs(i, -1)) ans.push_back(i); } cout << ans.size() << endl; for(auto &p : ans) cout << p + 1 << endl; }