#include using namespace std; void solve1(){ int n; cin>>n; cout<> g(n); vector d(n); for (int i=0;i>u>>v; u--;v--; g[u].push_back(v); g[v].push_back(u); d[u]++; d[v]++; } priority_queue q; for (int i=0;i a; while (!q.empty()){ int v=q.top();q.pop(); v*=-1; d[v]--; for (int u:g[v]){ if (d[u]>0){ a.push_back(u+1); if (--d[u]==1) q.push(-u); } } } for (int i=0;i>n; cout< a(n-2); vector d(n,1); for (int i=0;i>a[i],a[i]--; d[a[i]]++; } priority_queue q; for (int i=0;i> edge; int now=0; while (!q.empty()){ int v=q.top();q.pop(); v*=-1; edge.push_back({v,a[now]}); if (--d[v]==1) q.push(-v); if (--d[a[now]]==1) q.push(-a[now]); if (now++==n-3) break; } vector vec; for (int i=0;i0) vec.push_back(i); } edge.push_back({vec[0],vec[1]}); for (int i=0;i>s; if (s=="Alice") solve1(); if (s=="Bob") solve2(); }