#include <bits/stdc++.h>
using namespace std;
const long long N = 2e5 + 5, NN = 1000000007;
long long n, d, i, ii, l, r, s, a[N], biao[N], mi;
vector<pair<long long, long long> > v[N];
set<long long> se;
long long cha(long long i) {
  biao[i] = 1;
  long long ss = 0;
  vector<pair<long long, long long> >::iterator it;
  for (it = v[i].begin(); it != v[i].end(); it++) {
    if (!biao[(*it).first]) {
      a[(*it).first] = a[i] - (*it).second * 2 + 1;
      ss = ss + cha((*it).first) + (*it).second;
      if (a[(*it).first] < mi) {
        se.clear();
        mi = a[(*it).first];
      }
      if (a[(*it).first] <= mi) se.insert((*it).first);
    }
  }
  return ss;
}
int main() {
  scanf("%lld", &n);
  for (i = 1; i < n; i++) {
    scanf("%lld%lld", &l, &r);
    v[l].push_back(make_pair(r, 0));
    v[r].push_back(make_pair(l, 1));
  }
  se.insert(1);
  s = cha(1);
  printf("%lld\n", s + mi);
  set<long long>::iterator it;
  it = se.begin();
  printf("%lld", *it);
  for (it++; it != se.end(); it++) printf(" %lld", *it);
  cout << endl;
}
