#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define pii pair <int, int>
#define int long long
const int MAXN = 2e5+5;
int n, dp[MAXN], mini = 1e9;
vector <pii> adj[MAXN];
void dfs1(int x, int pa){
for (auto i : adj[x]){
int a = i.fi, b = i.se;
if ( a== pa) continue;
dfs1(a, x);
dp[x] += dp[a] + b;
}
}
void dfs2(int x, int pa){
for (auto i : adj[x]){
int a = i.fi, b = i.se;
if ( a == pa) continue;
// knp gak 0, karena buat i --> x mungkin 0, tp kl sebaliknya tetap
if (!b) dp[a] = dp[x] +1;
else dp[a] = dp[x]-1;
dfs2(a, x);
}
}
signed main(){
cin >> n;
for (int i =1; i <= n-1; i++){
int x, y;
cin >> x >> y ;
adj[x].push_back({y, 0});
adj[y].push_back({x, 1});
}
dfs1(1, 0);
dfs2(1, 0);
for (int i =1; i <= n; i++){
mini = min(mini, dp[i]);
}
cout << mini << endl;
for (int i =1; i <= n; i++){
if ( dp[i] == mini){
cout << i << " " ;
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBwaWkgcGFpciA8aW50LCBpbnQ+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwpjb25zdCBpbnQgTUFYTiA9IDJlNSs1OwoKaW50IG4sIGRwW01BWE5dLCBtaW5pID0gMWU5Owp2ZWN0b3IgPHBpaT4gYWRqW01BWE5dOwoKdm9pZCBkZnMxKGludCB4LCBpbnQgcGEpewogICAgZm9yIChhdXRvIGkgOiBhZGpbeF0pewogICAgICAgIGludCAgYSA9IGkuZmksIGIgPSBpLnNlOwogICAgICAgIAogICAgICAgIGlmICggYT09IHBhKSBjb250aW51ZTsKICAgICAgZGZzMShhLCB4KTsKICAgIGRwW3hdICs9IGRwW2FdICsgYjsKICAgIH0KfQoKdm9pZCBkZnMyKGludCB4LCBpbnQgcGEpewogICAgZm9yIChhdXRvIGkgOiBhZGpbeF0pewogICAgICAgIGludCBhID0gaS5maSwgYiA9IGkuc2U7CiAgICAgICAgaWYgKCBhID09IHBhKSBjb250aW51ZTsKICAgICAgICAvLyBrbnAgZ2FrIDAsIGthcmVuYSBidWF0IGkgLS0+IHggbXVuZ2tpbiAwLCB0cCBrbCBzZWJhbGlrbnlhIHRldGFwCiAgICAgICAgaWYgKCFiKSBkcFthXSA9IGRwW3hdICsxOwogICAgICAgIGVsc2UgZHBbYV0gPSBkcFt4XS0xOwogICAgICAgZGZzMihhLCB4KTsKICAgIH0KfQoKIHNpZ25lZCBtYWluKCl7CiAgICAgY2luID4+IG47CiAgICAgZm9yIChpbnQgaSA9MTsgaSA8PSBuLTE7IGkrKyl7CiAgICAgICAgIGludCB4LCB5OwogICAgICAgICBjaW4gPj4geCA+PiB5IDsKICAgICAgICAgYWRqW3hdLnB1c2hfYmFjayh7eSwgMH0pOwogICAgICAgICBhZGpbeV0ucHVzaF9iYWNrKHt4LCAxfSk7CiAgICAgfQogICAgIAogICAgIGRmczEoMSwgMCk7CiAgICAgZGZzMigxLCAwKTsKICAgICAKZm9yIChpbnQgaSA9MTsgaSA8PSBuOyBpKyspewptaW5pID0gbWluKG1pbmksIGRwW2ldKTsKfQpjb3V0IDw8IG1pbmkgPDwgZW5kbDsKZm9yIChpbnQgaSA9MTsgaSA8PSBuOyAgaSsrKXsKaWYgKCBkcFtpXSA9PSBtaW5pKXsKY291dCA8PCBpIDw8ICIgIiA7Cn0KICAgIH0KIH0=