import sys sys.setrecursionlimit(10**7) def I(): return int(sys.stdin.readline().rstrip()) def MI(): return map(int,sys.stdin.readline().rstrip().split()) def LI(): return list(map(int,sys.stdin.readline().rstrip().split())) def LI2(): return list(map(int,sys.stdin.readline().rstrip())) def S(): return sys.stdin.readline().rstrip() def LS(): return list(sys.stdin.readline().rstrip().split()) def LS2(): return list(sys.stdin.readline().rstrip()) N = I() M = LI() X = [] for i in range(N): m = M[i] for j in range(2,int(m**.5)+1): r = 0 if m % j == 0: while m % j == 0: r += 1 m //= j X.append(r) if m != 1: X.append(1) X = [x % 3 for x in X] a = 0 for x in X: a ^= x if a == 0: print('Bob') else: print('Alice')