N = int(input()) UV = [list(map(int, input().split())) for _ in range(N-1)] comp = [-1] * N compn = [0] * N G = [[] for _ in range(N)] for i in range(N-1): u, v = UV[i] G[u].append(v) G[v].append(u) compn[u] += 1 compn[v] += 1 def dfs(now): for nxt in G[now]: if comp[nxt] != -1: continue comp[nxt] = comp[now] dfs(nxt) cnt = 0 for i in range(N): if comp[i] != -1: continue cnt += 1 comp[i] = cnt dfs(i) if max(comp) == 1: print('Bob') elif max(comp) >= 3: print('Alice') else: if all([False if x == 1 else True for x in compn]): print('Bob') else: print('Alice')