N = int(input()) B = [0] * N G = [] for i in range(N): G.append([False] * N) for i in range(N-1): u, v = list(map(int, input().split())) B[u] += 1 B[v] += 1 G[u][v] = True G[v][u] = True # print(G) no_b = 0 for bi in B: if bi == 0: no_b += 1 # print(B) if no_b == 0: visited = [False] * N def dfs(v): if visited[v]: return visited[v] = True edges = G[v] for i, e in enumerate(edges): if e: dfs(i) dfs(0) print(visited) if all(visited): print('Bob') else: print('Alice') elif no_b == 1: ans = True for bi in B: if bi != 2: ans = False if ans: print('Bob') else: print("Alice") else: print("Alice")