#include <bits/stdc++.h>
using namespace std;
int NUM, AM;
char BUFFER[(1 << 16) + 1], *pNum = BUFFER;
const int MAXN = 1 + 1000;
const int INF = 1 + 1000000000;
int n;
int a[MAXN];
int gcd(int a, int b) {
  int r;
  while (b) {
    r = a % b;
    a = b;
    b = r;
  }
  return a;
}
int main() {
  n = ({
    int i;
    do {
      if (!*pNum) {
        if (feof(stdin))
          memset(BUFFER, 0, sizeof BUFFER);
        else
          fread(BUFFER, 1, (1 << 16), stdin);
        pNum = BUFFER;
      }
      NUM = *pNum++;
    } while (!(('0' <= (NUM)) && ((NUM) <= '9')) && NUM != '-');
    if (NUM == '-') {
      AM = 1;
      {
        if (!*pNum) {
          if (feof(stdin))
            memset(BUFFER, 0, sizeof BUFFER);
          else
            fread(BUFFER, 1, (1 << 16), stdin);
          pNum = BUFFER;
        }
        NUM = *pNum++;
      };
    } else
      AM = 0;
    i = NUM - '0';
    {
      if (!*pNum) {
        if (feof(stdin))
          memset(BUFFER, 0, sizeof BUFFER);
        else
          fread(BUFFER, 1, (1 << 16), stdin);
        pNum = BUFFER;
      }
      NUM = *pNum++;
    };
    while ((('0' <= (NUM)) && ((NUM) <= '9'))) {
      i = i * 10 + (NUM - '0');
      {
        if (!*pNum) {
          if (feof(stdin))
            memset(BUFFER, 0, sizeof BUFFER);
          else
            fread(BUFFER, 1, (1 << 16), stdin);
          pNum = BUFFER;
        }
        NUM = *pNum++;
      };
    }
    if (AM) i = -i;
    i;
  });
  for (int i = (0), _b = (n); i < _b; ++i)
    a[i] = ({
      int i;
      do {
        if (!*pNum) {
          if (feof(stdin))
            memset(BUFFER, 0, sizeof BUFFER);
          else
            fread(BUFFER, 1, (1 << 16), stdin);
          pNum = BUFFER;
        }
        NUM = *pNum++;
      } while (!(('0' <= (NUM)) && ((NUM) <= '9')) && NUM != '-');
      if (NUM == '-') {
        AM = 1;
        {
          if (!*pNum) {
            if (feof(stdin))
              memset(BUFFER, 0, sizeof BUFFER);
            else
              fread(BUFFER, 1, (1 << 16), stdin);
            pNum = BUFFER;
          }
          NUM = *pNum++;
        };
      } else
        AM = 0;
      i = NUM - '0';
      {
        if (!*pNum) {
          if (feof(stdin))
            memset(BUFFER, 0, sizeof BUFFER);
          else
            fread(BUFFER, 1, (1 << 16), stdin);
          pNum = BUFFER;
        }
        NUM = *pNum++;
      };
      while ((('0' <= (NUM)) && ((NUM) <= '9'))) {
        i = i * 10 + (NUM - '0');
        {
          if (!*pNum) {
            if (feof(stdin))
              memset(BUFFER, 0, sizeof BUFFER);
            else
              fread(BUFFER, 1, (1 << 16), stdin);
            pNum = BUFFER;
          }
          NUM = *pNum++;
        };
      }
      if (AM) i = -i;
      i;
    });
  sort(a, a + n);
  int t = a[0];
  for (int i = (1), _b = (n); i < _b; ++i) t = gcd(a[i] - a[i - 1], t);
  printf("%s\n", (a[n - 1] / t - n) % 2 ? "Alice" : "Bob");
  fprintf(stderr, "Run time: %d\n", clock());
  return 0;
}
