#include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); string S; cin >> S; int N; cin >> N; int k = N - 2; cout << k << endl; if (S == "Alice") { vector> g(N); vector d(N); for (int i = 0; i < N - 1; i++) { int u, v; cin >> u >> v; u--; v--; g[u].push_back(v); g[v].push_back(u); d[u]++; d[v]++; } priority_queue, greater> pq; for (int i = 0; i < N; i++) { if (d[i] == 1) { pq.push(i); } } vector ch(N); vector A(N - 2); for (int i = 0; i < N - 2; i++) { int u = pq.top(); pq.pop(); for (int v: g[u]) { d[v]--; if (d[v] == 1) pq.push(v); if (!ch[v]) A[i] = v + 1; } ch[u] = true; } for (int i = 0; i < N - 2; i++) { cout << A[i] << (i == N - 3 ? '\n' : ' '); } cout << flush; } else { vector A(N - 2); for (int i = 0; i < N - 2; i++) { cin >> A[i]; A[i]--; } vector ch(N); for (int i = 0; i < N - 2; i++) { vector ok = ch; for (int j = i; j < N - 2; j++) ok[A[j]] = true; for (int j = 0; j < N; j++) { if (!ok[j]) { ch[j] = true; cout << A[i] + 1 << ' ' << j + 1 << '\n'; break; } } } vector s; for (int i = 0; i < N; i++) { if (!ch[i]) s.push_back(i); } cout << s[0] + 1 << ' ' << s[1] + 1 << endl; } }