#include<bits/stdc++.h>
using namespace std;
#define FOR(i,a,b) for (int i=(a);i<(b);i++)
#define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--)
#define REP(i,n) for (int i=0;i<(n);i++)
#define RREP(i,n) for (int i=(n)-1;i>=0;i--)
typedef long long LL;

//try木
#define SZ 100001
struct Trie{
	int value;
	int next[26];
	Trie() {fill(next, next+26,-1);}
};
Trie trie[SZ];
int now=1;

int find(string s, int root){
	for(int i=0;s[i];++i){
		int c=s[i]-'0';
		if(trie[root].next[c]==-1){
			trie[root].next[c]=now;
			trie[now].value=c;
			now++;
		}
		root=trie[root].next[c];
	}
	return root;
}

int N;
LL L;
int ans=0;
LL dfs(int root,LL d){
	int count=0;
	LL aa=0;
	for(int i=0;i<2;i++){
		if(trie[root].next[i]!=-1){
			count++;
			aa^=dfs(trie[root].next[i],d+1);
		}
	}
	if(count==1){
		LL dd=L-d;
		LL e=1;
		while(dd%2==0){
			dd/=2;
			e*=2;
		}
		aa^=e;
	}
	return aa;
}



int main(){
	cin>>N>>L;
	Trie root;
	REP(i,N){
		string s;
		cin>>s;
		find(s,0);
	}
	if(dfs(0,0)!=0){
		cout<<"Alice"<<endl;
	}else{
		cout<<"Bob"<<endl;
	}

	return(0);
}