#include using namespace std; vector> G; vector V; void dfs(const vector> &G, int v) { V.at(v) = true; for (auto next : G.at(v)) { if (V.at(next)) continue; dfs(G, next); } } int main() { int N; cin >> N; G.resize(N); for (int i = 0, a, b; cin >> a >> b; i++) G.at(a).push_back(b), G.at(b).push_back(a); int cnt = 0; V.assign(N, false); for (int v = 0; v < N; v++) { if (V.at(v)) continue; dfs(G, v); cnt++; } cout << ((cnt > 1) ? "Alice" : "Bob") << "\n"; }