#include <bits/stdc++.h>
using namespace std;
const int N = 100005;
int read() {
  int f = 1, g = 0;
  char ch = getchar();
  for (; !isdigit(ch); ch = getchar())
    if (ch == '-') f = -1;
  for (; isdigit(ch); ch = getchar()) g = g * 10 + ch - '0';
  return f * g;
}
int n, m, a[N], nex[N][26], las[N][26], f[N][26], g[N][26], s[N], cur[26];
char ch[N];
int calc(int l, int r);
int calcl(int x, int i) {
  if (f[x][i] == -1) f[x][i] = calc(x, nex[x][i]);
  return f[x][i];
}
int calcr(int x, int i) {
  if (g[x][i] == -1) g[x][i] = calc(las[x][i], x);
  return g[x][i];
}
int cal(int x, int i) {
  if (s[x] == -1) s[x] = cal(las[x][i], i) ^ calcr(x, i);
  return s[x];
}
int calc(int l, int r) {
  if (l + 1 > r - 1) return 0;
  int t = 0;
  for (int i = 0; i < 26; i++) {
    if (nex[l][i] >= r) continue;
    t |= (1 << (calcl(l, i) ^ calcr(r, i) ^ cal(las[r][i], i) ^
                cal(nex[l][i], i)));
  }
  for (int i = 0; i < 27; i++)
    if ((t & (1 << i)) == 0) return i;
}
int main() {
  scanf("%s", ch + 1);
  n = strlen(ch + 1);
  for (int i = 1; i <= n; i++) a[i] = ch[i] - 'a';
  memset(cur, 0, sizeof(cur));
  for (int i = 1; i <= n + 1; i++) {
    memcpy(las[i], cur, 26 * 4);
    cur[a[i]] = i;
  }
  for (int i = 0; i < 26; i++) cur[i] = n + 1;
  for (int i = n; i >= 0; i--) {
    memcpy(nex[i], cur, 26 * 4);
    cur[a[i]] = i;
  }
  memset(f, -1, sizeof(f));
  memset(g, -1, sizeof(g));
  memset(s, -1, sizeof(s));
  s[0] = 0;
  scanf("%d", &m);
  while (m--) {
    int l, r;
    scanf("%d %d", &l, &r);
    puts(calc(l - 1, r + 1) ? "Alice" : "Bob");
  }
  return 0;
}
