#include #include using namespace std; using namespace atcoder; using ll = long long; using mint = modint998244353; #define rep(i, n) for (ll i = 0; i < (ll)(n); i++) #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define Yout cout << "Yes" << '\n' #define Nout cout << "No" << '\n' #define pb push_back #define mp make_pair #define ft first #define sd second // #define _LIBCPP_DEBUG 0と書く必要があります。 const ll mod = 998244353; const ll mod2 = (long long)1000000007; const ll INF = (long long)2e18; const vector dx = {1, 0, -1, 0}; const vector dy = {0, 1, 0, -1}; // const vector dx = {1, 1, 1, 0, -1, -1, -1, 0}; // const vector dy = {1, 0, -1, -1, -1, 0, 1, 1}; // const vector dx = {1, -1, 1, -1}; // const vector dy = {1, 1, -1, -1}; template void li(T a) { for (auto i : a) { cout << i << ' '; } cout << endl; } template inline bool chmin(T &a, T b) { if (a > b) { a = b; return true; } return false; } template inline bool chmax(T &a, T b) { if (a < b) { a = b; return true; } return false; } bool ch(ll l, ll r, ll x) { return l <= x and x < r; } bool chch(ll h, ll w, ll x, ll y) { return ch(0, h, x) and ch(0, w, y); } void solve() { ll n, m; cin >> n >> m; ll u = 0, v = 0; rep(i, n) { ll x; cin >> x; u ^= x / m; v ^= x % m; } if (u != 0 or v != 0) { cout << "Alice" << endl; } else { cout << "Bob" << endl; } } void test() {} int main() { ios::sync_with_stdio(false); cin.tie(nullptr); ll t = 1; // cin >> t; rep(i, t) { solve(); } // test(); }