#pragma GCC optimize("Ofast") #include using namespace std; typedef long long int ll; typedef unsigned long long ull; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); ll myRand(ll B) { return (ull)rng() % B; } inline double time() { return static_cast(chrono::duration_cast(chrono::steady_clock::now().time_since_epoch()).count()) * 1e-9; } int main() { cin.tie(nullptr); ios::sync_with_stdio(false); int n,k,t; cin >> n >> k >> t; string s; cin >> s; k--; bool win = false; int cnt = -1; for (int i = k; i >= 0; --i) { if (s[i] == s[k]) { cnt++; if (i == 0) { cnt = t+1; } } else { break; } } if (cnt <= t-1) { if (cnt%2 == (t-1)%2) win = true; } cnt = -1; for (int i = k; i < n; ++i) { if (s[i] == s[k]) { cnt++; if (i+1 == n) { cnt = t+1; } } else { break; } } if (cnt <= t-1) { if (cnt%2 == (t-1)%2) win = true; } if (win) { if (s[k] == 'A') { cout << "Alice" << endl; } else { cout << "Bob" << endl; } } else { if (s[k] == 'B') { cout << "Alice" << endl; } else { cout << "Bob" << endl; } } }