import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { static int n; static char[] s; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] sa = br.readLine().split(" "); n = Integer.parseInt(sa[0]); int k = Integer.parseInt(sa[1]) - 1; int t = Integer.parseInt(sa[2]); s = br.readLine().toCharArray(); br.close(); char res = dfs(k, t, -2); if (res == 'A') { System.out.println("Alice"); } else { System.out.println("Bob"); } } static char dfs(int k, int t, int p) { if (t == 0) { if (s[k] == 'A') { return 'B'; } else { return 'A'; } } char c = s[k]; if (t % 2 == 1) { if (p != k - 1 && k > 0) { char l = s[k - 1]; if (l != c) { if (k == 1 || s[k - 2] == c) { return c; } if (k < n - 1 || s[k + 1] == c) { return c; } } char res = dfs(k - 1, t - 1, k); if (res == c) { return c; } } if (p != k + 1 && k < n - 1) { char r = s[k + 1]; if (r != c) { if (k == n - 2 || s[k + 2] == c) { return c; } if (k > 0 || s[k - 1] == c) { return c; } } char res = dfs(k + 1, t - 1, k); if (res == c) { return c; } } } else { char res = dfs(k - 1, t - 1, k); if (res == c) { return c; } res = dfs(k + 1, t - 1, k); if (res == c) { return c; } } if (s[k] == 'A') { return 'B'; } else { return 'A'; } } }