#include using namespace std; using ll = long long; vector> G(100005); vector used(100005, 0); void dfs(int c) { for (ll n: G[c]) { if (used[n]) continue; used[n] = 1; dfs(n); } } int main() { ios::sync_with_stdio(false); cin.tie(0); int N; cin >> N; for (ll i = 0; i < N - 1; i++) { ll a, b; cin >> a >> b; G[a].emplace_back(b); G[b].emplace_back(a); } ll cnt = 0; for (int i = 0; i < N; i++) { if (!used[i]) { used[i] = 1; cnt++; dfs(i); } } string ans; if (cnt > 2) ans = "Alice"; else if (cnt == 1) ans = "Bob"; else { ans = "Bob"; for (int i = 0; i < N; i++) { if (G[i].size() != 0 && G[i].size() != 2) { ans = "Alice"; } } } cout << ans << '\n'; return 0; }