#include <iostream> #include <cstring> using namespace std; const int N=55; int g[N][N]; int d[N]; int n, T; void dfs(int u){ for(int v=1; v<=50; v++) if(g[u][v]) { g[u][v]--; // 去掉重边 g[v][u]--; dfs(v); cout<<v<<" "<<u<<endl; } } int main(){ cin>>T; for(int t=1 ;t<=T; t++) { memset(g,0x00,sizeof(g)); memset(d,0x00,sizeof(d)); cin>>n; for(int i=1 ;i<=n; i++) { int u, v; cin>>u>>v; d[u]++; d[v]++; g[u][v]++; g[v][u]++; } cout<<"Case #"<<t<<endl; bool flag=true; // 无向图判断是否存在欧拉回路 for(int i=1 ;i<=50; i++) if(d[i]&0x01){ flag=false; break; } if(!flag) cout<<"some beads may be lost"<<endl; else{ for(int i=1; i<=50; ++i) dfs(i); } if(t!=T) cout<<endl; } return 0; }