N,K,T = map(int,input().split()) C = input() K -= 1 dic = {"A":"Alice","B":"Bob"} now = C[K] other = ["A","B"][now == "A"] INF = 10 ** 10 R = L = INF def cnt(start,dir,col): k = 0 flag = 0 ret = INF while 0 <= start + dir * (k + 1) < N: if C[start + dir * (k + 1)] != col: flag = 1 ret = k break k += 1 return ret def out(x): print(dic[x]) exit() R = cnt(K,1,now) L = cnt(K,-1,now) if T <= L and T <= R: out(other) if 0 < L < INF: if (L-T) % 2 == 1: out(now) if 0 < R < INF: if (R-T) % 2 == 1: out(now) # case, R == 0 or L == 0 if T % 2 == 1: if R == 0: R2 = cnt(K+1,1,other) if R2 % 2 == 0: out(now) if L == 0: L2 = cnt(K-1,-1,other) if L2 % 2 == 0: out(now) out(other) N,K,T = map(int,input().split()) C = input() K -= 1 dic = {"A":"Alice","B":"Bob"} now = C[K] other = ["A","B"][now == "A"] INF = 10 ** 10 R = L = INF def cnt(start,dir,col): k = 0 flag = 0 ret = INF while 0 <= start + dir * (k + 1) < N: if C[start + dir * (k + 1)] != col: flag = 1 ret = k break k += 1 return ret def out(x): print(dic[x]) exit() R = cnt(K,1,now) L = cnt(K,-1,now) if T <= L and T <= R: out(other) if 0 < L < INF: if (L-T) % 2 == 1: out(now) if 0 < R < INF: if (R-T) % 2 == 1: out(now) # case, R == 0 or L == 0 if T % 2 == 1: if R == 0: R2 = cnt(K+1,1,other) if R2 % 2 == 0: out(now) if L == 0: L2 = cnt(K-1,-1,other) if L2 % 2 == 0: out(now) out(other)