#include <bits/stdc++.h>
#define SPED \
ios_base::sync_with_stdio(false); \
cin.tie(0); \
cout.tie(0);
#define endl "\n"
#define fi first
#define se second
#define lint long long
const lint INF = 0x1f1f1f1f1f1f1f1f;
const lint NEG = 0xE1E1E1E1E1E1E1E1;
using namespace std;
int n, dist[55];
vector<pair<int, lint>> adj[55];
vector<pair<lint, int>> x[55];
vector<int> vec;
void dfs(int now, int par, int br)
{
x[br].emplace_back(dist[now], now);
for (auto [v, w] : adj[now])
{
if (v == par)
continue;
dist[v] = dist[now] + w;
dfs(v, now, br);
}
}
void make_ans(int root)
{
dist[root] = 0;
vector<lint> vals;
vector<int> childs;
for (auto [v, w] : adj[root])
{
x[v].clear();
childs.emplace_back(v);
dist[v] = dist[root] + w;
dfs(v, root, v);
for (auto [w, z] : x[v])
vals.emplace_back(w);
}
sort(vals.begin(), vals.end());
vals.erase(unique(vals.begin(), vals.end()), vals.end());
for (auto val : vals)
{
vector<int> temp;
for (auto c : childs)
{
sort(x[c].begin(), x[c].end());
auto it = lower_bound(x[c].begin(), x[c].end(), make_pair(val, -1));
if (it != x[c].end() and (*it).fi == val)
temp.emplace_back((*it).se);
// if (root == 9 and val == 3 and c == 10)
// {
// auto it = lower_bound(x[c].begin(), x[c].end(), make_pair(val, -1));
// for (auto [bel, nig] : x[c])
// cout << bel << " " << nig << endl;
// if (it == x[c].end())
// cout << "KHONG TON TAI";
// else
// cout << (*it).fi << " " << (*it).se << endl;
// }
}
if (temp.size() > vec.size())
vec = temp;
// if (root == 9)
// for (auto z : temp)
// cout << "val : " << val << " " << z << endl;
}
}
signed main()
{
if (fopen("egalitarianism3.inp", "r"))
{
freopen("egalitarianism3.inp", "r", stdin);
freopen("egalitarianism3.out", "w", stdout);
}
SPED;
cin >> n;
for (int i = 1; i < n; i++)
{
int l, r;
lint w;
cin >> l >> r >> w;
adj[l].emplace_back(r, w);
adj[r].emplace_back(l, w);
}
if (n <= 2)
{
cout << n << endl;
for (int i = 1; i <= n; i++)
cout << i << " ";
return 0;
}
for (int root = 1; root <= n; root++)
make_ans(root);
if (vec.size() <= 2)
{
cout << 2 << endl;
cout << 1 << " " << 2, 0;
}
else
{
cout << vec.size() << endl;
for (auto z : vec)
cout << z << " ";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIFNQRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBjaW4udGllKDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgY291dC50aWUoMCk7CgojZGVmaW5lIGVuZGwgIlxuIgojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgbGludCBsb25nIGxvbmcKCmNvbnN0IGxpbnQgSU5GID0gMHgxZjFmMWYxZjFmMWYxZjFmOwpjb25zdCBsaW50IE5FRyA9IDB4RTFFMUUxRTFFMUUxRTFFMTsKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbiwgZGlzdFs1NV07CnZlY3RvcjxwYWlyPGludCwgbGludD4+IGFkals1NV07CnZlY3RvcjxwYWlyPGxpbnQsIGludD4+IHhbNTVdOwp2ZWN0b3I8aW50PiB2ZWM7Cgp2b2lkIGRmcyhpbnQgbm93LCBpbnQgcGFyLCBpbnQgYnIpCnsKICAgIHhbYnJdLmVtcGxhY2VfYmFjayhkaXN0W25vd10sIG5vdyk7CiAgICBmb3IgKGF1dG8gW3YsIHddIDogYWRqW25vd10pCiAgICB7CiAgICAgICAgaWYgKHYgPT0gcGFyKQogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICBkaXN0W3ZdID0gZGlzdFtub3ddICsgdzsKICAgICAgICBkZnModiwgbm93LCBicik7CiAgICB9Cn0KCnZvaWQgbWFrZV9hbnMoaW50IHJvb3QpCnsKICAgIGRpc3Rbcm9vdF0gPSAwOwogICAgdmVjdG9yPGxpbnQ+IHZhbHM7CiAgICB2ZWN0b3I8aW50PiBjaGlsZHM7CiAgICBmb3IgKGF1dG8gW3YsIHddIDogYWRqW3Jvb3RdKQogICAgewogICAgICAgIHhbdl0uY2xlYXIoKTsKICAgICAgICBjaGlsZHMuZW1wbGFjZV9iYWNrKHYpOwogICAgICAgIGRpc3Rbdl0gPSBkaXN0W3Jvb3RdICsgdzsKICAgICAgICBkZnModiwgcm9vdCwgdik7CgogICAgICAgIGZvciAoYXV0byBbdywgel0gOiB4W3ZdKQogICAgICAgICAgICB2YWxzLmVtcGxhY2VfYmFjayh3KTsKICAgIH0KCiAgICBzb3J0KHZhbHMuYmVnaW4oKSwgdmFscy5lbmQoKSk7CiAgICB2YWxzLmVyYXNlKHVuaXF1ZSh2YWxzLmJlZ2luKCksIHZhbHMuZW5kKCkpLCB2YWxzLmVuZCgpKTsKCiAgICBmb3IgKGF1dG8gdmFsIDogdmFscykKICAgIHsKICAgICAgICB2ZWN0b3I8aW50PiB0ZW1wOwogICAgICAgIGZvciAoYXV0byBjIDogY2hpbGRzKQogICAgICAgIHsKICAgICAgICAgICAgc29ydCh4W2NdLmJlZ2luKCksIHhbY10uZW5kKCkpOwogICAgICAgICAgICBhdXRvIGl0ID0gbG93ZXJfYm91bmQoeFtjXS5iZWdpbigpLCB4W2NdLmVuZCgpLCBtYWtlX3BhaXIodmFsLCAtMSkpOwoKICAgICAgICAgICAgaWYgKGl0ICE9IHhbY10uZW5kKCkgYW5kICgqaXQpLmZpID09IHZhbCkKICAgICAgICAgICAgICAgIHRlbXAuZW1wbGFjZV9iYWNrKCgqaXQpLnNlKTsKCiAgICAgICAgICAgIC8vIGlmIChyb290ID09IDkgYW5kIHZhbCA9PSAzIGFuZCBjID09IDEwKQogICAgICAgICAgICAvLyB7CiAgICAgICAgICAgIC8vICAgICBhdXRvIGl0ID0gbG93ZXJfYm91bmQoeFtjXS5iZWdpbigpLCB4W2NdLmVuZCgpLCBtYWtlX3BhaXIodmFsLCAtMSkpOwoKICAgICAgICAgICAgLy8gICAgIGZvciAoYXV0byBbYmVsLCBuaWddIDogeFtjXSkKICAgICAgICAgICAgLy8gICAgICAgICBjb3V0IDw8IGJlbCA8PCAiICIgPDwgbmlnIDw8IGVuZGw7CgogICAgICAgICAgICAvLyAgICAgaWYgKGl0ID09IHhbY10uZW5kKCkpCiAgICAgICAgICAgIC8vICAgICAgICAgY291dCA8PCAiS0hPTkcgVE9OIFRBSSI7CiAgICAgICAgICAgIC8vICAgICBlbHNlCiAgICAgICAgICAgIC8vICAgICAgICAgY291dCA8PCAoKml0KS5maSA8PCAiICIgPDwgKCppdCkuc2UgPDwgZW5kbDsKICAgICAgICAgICAgLy8gfQogICAgICAgIH0KCiAgICAgICAgaWYgKHRlbXAuc2l6ZSgpID4gdmVjLnNpemUoKSkKICAgICAgICAgICAgdmVjID0gdGVtcDsKCiAgICAgICAgLy8gaWYgKHJvb3QgPT0gOSkKICAgICAgICAvLyAgICAgZm9yIChhdXRvIHogOiB0ZW1wKQogICAgICAgIC8vICAgICAgICAgY291dCA8PCAidmFsIDogIiA8PCB2YWwgPDwgIiAiIDw8IHogPDwgZW5kbDsKICAgIH0KfQoKc2lnbmVkIG1haW4oKQp7CiAgICBpZiAoZm9wZW4oImVnYWxpdGFyaWFuaXNtMy5pbnAiLCAiciIpKQogICAgewogICAgICAgIGZyZW9wZW4oImVnYWxpdGFyaWFuaXNtMy5pbnAiLCAiciIsIHN0ZGluKTsKICAgICAgICBmcmVvcGVuKCJlZ2FsaXRhcmlhbmlzbTMub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQogICAgU1BFRDsKICAgIGNpbiA+PiBuOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgaW50IGwsIHI7CiAgICAgICAgbGludCB3OwogICAgICAgIGNpbiA+PiBsID4+IHIgPj4gdzsKICAgICAgICBhZGpbbF0uZW1wbGFjZV9iYWNrKHIsIHcpOwogICAgICAgIGFkaltyXS5lbXBsYWNlX2JhY2sobCwgdyk7CiAgICB9CgogICAgaWYgKG4gPD0gMikKICAgIHsKICAgICAgICBjb3V0IDw8IG4gPDwgZW5kbDsKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICAgICAgICAgIGNvdXQgPDwgaSA8PCAiICI7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgZm9yIChpbnQgcm9vdCA9IDE7IHJvb3QgPD0gbjsgcm9vdCsrKQogICAgICAgIG1ha2VfYW5zKHJvb3QpOwoKICAgIGlmICh2ZWMuc2l6ZSgpIDw9IDIpCiAgICB7CiAgICAgICAgY291dCA8PCAyIDw8IGVuZGw7CiAgICAgICAgY291dCA8PCAxIDw8ICIgIiA8PCAyLCAwOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIGNvdXQgPDwgdmVjLnNpemUoKSA8PCBlbmRsOwogICAgICAgIGZvciAoYXV0byB6IDogdmVjKQogICAgICAgICAgICBjb3V0IDw8IHogPDwgIiAiOwogICAgfQp9