using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Text; using System.Text.RegularExpressions; using System.Linq; public class Program { static int N = int.Parse(Console.ReadLine()); static int[] M = Console.ReadLine().Split(' ').Select(int.Parse).ToArray(); static public void Main(string[] args) { Console.WriteLine(Grundy(M) == 0 ? "Bob" : "Alice"); } static int Grundy(int n) { var map = new Dictionary(); for (int i = 2; n != 1; i++) { if (n % i == 0) { map[i] = 0; while (n % i == 0) { map[i]++; n /= i; } } } int result = 0; foreach (var p in map) { result ^= p.Value % 3; } return result; } static int Grundy(int[] m) { int ans = 0; foreach (int i in m) { ans ^= Grundy(i); } return ans; } }