func_code_string: #include <bits/stdc++.h>   using namespace std;   const int MAXN = 1;   const long long MOD = 1;   long long _gcd(long long a, long long b) {     if (b == 0) return a;     return _gcd(b, a % b);   }   long long gcd(long long a, long long b) {     a = abs(a), b = abs(b);     if (a < b) swap(a, b);     return _gcd(a, b);   }   long long qpow(long long a, long long n) {     long long rt = 1;     while (n) {       if (n & 1) rt = (rt * a) % MOD;       a = a * a % MOD;       n >>= 1;     }     return rt;   }   long long factor[MAXN];   long long inv[MAXN];   void cal_factor() {     factor[0] = 1;     for (int u = 1; u < MAXN; u++) {       factor[u] = (factor[u - 1] * u) % MOD;     }   }   void cal_factor_inv() {     inv[0] = 1;     inv[MAXN - 1] = qpow(factor[MAXN - 1], MOD - 2);     for (int u = MAXN - 2; u >= 1; u--) {       inv[u] = inv[u + 1] * (u + 1) % MOD;     }   }   void init_factor() {     cal_factor();     cal_factor_inv();   }   long long C(long long n, long long k) {     if (n < k) return 0;     return factor[n] * qpow(factor[n - k], MOD - 2) % MOD *            qpow(factor[k], MOD - 2) % MOD;   }   void solve() {     int n;     cin >> n;     int mx = 0;     int g = -1;     for (int u = 0; u < n; u++) {       int t;       cin >> t;       if (g == -1)         g = t;       else         g = gcd(g, t);       mx = max(t, mx);     }     if ((mx / g - n) % 2) {       cout <<  Alice n ;     } else {       cout <<  Bob n ;     }   }   int main() {     ios::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     solve();   }   