#pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("avx,avx2") #include #define INF 1000000001LL #define LNF 1000000000000000001LL #define MOD 1000000007LL #define MAX 502 #define long long long #define all(x) x.begin(),x.end() using namespace std; //UnionFind class UnionFind { public: vector parent; vector cnt; void init(int size) { parent.resize(size); cnt.resize(size); for(int i = 0; i> n; UnionFind uf; uf.init(n); vector g(n); for(int i = 0; i> a >> b; uf.merge(a,b); g[a]++; g[b]++; } int cnt = 0; int one = 0; for(int i = 0; i 2 || (cnt == 2 && one)) cout << "Alice\n"; else cout << "Bob\n"; return 0; }