def naive(n): dp = [[False] * (n + 1) for _ in range(2)] vis = [[False] * (n + 1) for _ in range(2)] def dfs(x, t): if vis[t][x]: return dp[t][x] if x == 1: return False vis[t][x] = True res = False for k in range((x + 1) // 2, x): res |= not dfs(k, 1 - t) if res: break dp[t][x] = res return dp[t][x] dfs(n, 0) return dfs(n, 0) Q = int(input()) for _ in range(Q): N = int(input()) # print("Alice" if naive(N) else "Bob") print("Alice" if (N + 1).bit_count() != 1 else "Bob")