from collections import Counter import sys sys.setrecursionlimit(10**6) N = int(input()) class UnionFind: def __init__(self, n): super().__init__() self.parent = [i for i in range(n)] def root(self, x): if self.parent[x] != x: return self.root(self.parent[x]) else: return x def unite(self, x, y): rx = self.root(x) ry = self.root(y) if rx != ry: self.parent[rx] = ry uni = UnionFind(N) temp_list = [0 for i in range(N)] for i in range(N-1): a, b = list(map(int, input().split())) uni.unite(b, a) temp_list[a] += 1 temp_list[b] += 1 # print(uni.parent) # print(temp_list) count = Counter(uni.parent) count2 = Counter(temp_list) # print(count) if len(count) == 1: print("Bob") elif len(count) == 2: if len(count2) == 2 and 2 in count2 and 0 in count2: print("Bob") else: print("Alice") else: print("Alice")