#include <bits/stdc++.h>
using namespace std;
int n;
vector<vector<int>> tree;
void encrypt() {
tree.resize(n+1);
for (int i = 1; i < n; i++) {
int u, v; cin >> u >> v;
tree[u].push_back(v);
tree[v].push_back(u);
}
int ff = 0;
for (int i = 1; i < n; i++) {
if (tree[i].size() == 1) ff = i;
}
if (tree[ff][0] > ff) cout << 0 << endl;
else cout << 1 << endl;
cout << ff << " ";
int prev = ff;
int curr = tree[ff][0];
while (tree[curr].size() > 1) {
cout << curr << " ";
if (tree[curr].size() == 1) break;
if (tree[curr][0] == prev) {
prev = curr;
curr = tree[curr][1];
}
else {
prev = curr;
curr = tree[curr][0];
}
}
cout << endl;
}
void decrypt() {
string s; cin >> s;
int toDo = -1;
for (int i = 0; i < n-1; i++) {
int a, b; cin >> a >> b;
if (toDo == -1) {
if (s == "0") toDo = a;
else toDo = b;
}
cout << toDo << endl;
toDo = toDo ^ a ^ b;
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int p; cin >> p >> n;
if (p == 1) encrypt();
else decrypt();
return 0;
}