#pragma GCC optimize ("Ofast")
#define _USE_MATH_DEFINES
#include <bits/stdc++.h>
#define FOR(i, a, b) for (int i=(a); i<(b); i++)
#define FORD(i, a, b) for (int i=(a); i>(b); i--)
#define SZ(x) ((int)(x).size())
#define ALL(x) (x).begin(), (x).end()
#define PPC(x) __builtin_popcountll(x)
#define MSB(x) (63 - __builtin_clzll(x))
#define LSB(x) __builtin_ctz(x)
#define ARG(x, i) (get<i>(x))
#define LAST(x) std::prev(x.end())
#define ithBit(m, i) ((m) >> (i) & 1)
#define pb push_back
#define ft first
#define sd second
#define kw(a) ((a) * (a))
#define VLD(i, j) (0 <= (i) and (i) < n and 0 <= (j) and (j) < m)
#ifdef DEBUG
#include "debug.h"
#else
#define dbg(...) 0
#endif
using namespace std;
template <typename T1, typename T2> inline void remin(T1& a, T2 b) { a = min(a, (T1)b); }
template <typename T1, typename T2> inline void remax(T1& a, T2 b) { a = max(a, (T1)b); }
const int maxN = 1 << 18;
int T[maxN];
void solve()
{
int n, m;
scanf ("%d%d", &n, &m);
long long s = 1ll * n * n + n;
long long x = s - n;
bool bob = x % m == 0 or x % m > (s-1) % m;
printf("%s\n", bob ? "Bob" : "Alice");
}
int main()
{
int t = 1;
scanf ("%d", &t);
FOR(tid, 1, t+1)
{
// printf("Case #%d: ", tid);
solve();
}
return 0;
}